Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Сортировка таблицы. Вопрос от новичка.
 
 автор: tlt   (23.03.2008 в 23:08)   письмо автору
 
 

Допустим есть таблица primer такого вида:

primer
====
name
max
min


как отсортировать таблицу по разнице между max и min?

   
 
 автор: cheops   (23.03.2008 в 23:45)   письмо автору
 
   для: tlt   (23.03.2008 в 23:08)
 

>как отсортировать таблицу по разнице между max и min?
Под min и max имеется в виду количество символов?

   
 
 автор: tlt   (24.03.2008 в 00:10)   письмо автору
 
   для: cheops   (23.03.2008 в 23:45)
 

нет, там данные

   
 
 автор: tlt   (24.03.2008 в 00:16)   письмо автору
 
   для: tlt   (24.03.2008 в 00:10)
 

например
name | max | min
dima | 4 | 0
sasha | 8 | 3
oleg | 3 | 2
artem | 5 | 1

нужно вывести таблицу в таком порядке:

sasha | 8 | 3
artem | 5 | 1
dima | 4 | 0
oleg | 3 | 2

причем артём будет выше димы, т.к. max у него больше...

   
 
 автор: Root   (24.03.2008 в 00:36)   письмо автору
 
   для: tlt   (24.03.2008 в 00:16)
 


SELECT * FROM tbl_name ORDER BY `max`

   
 
 автор: tlt   (24.03.2008 в 14:28)   письмо автору
 
   для: Root   (24.03.2008 в 00:36)
 

мне не нужна сортировка по столбцу макс. Мне нужна сортировка по разницу между столбцами макс и мин.
приведу ещё один пример, где в выше стоящую таблицу я добалю ещё одну строку
итак пример:
name | max | min
dima | 4 | 0
sasha | 8 | 3
oleg | 3 | 2
artem | 5 | 1
sergey | 6 | 3

нужно вывести таблицу в таком порядке:

sasha | 8 | 3 (разница 4)
artem | 5 | 1 (разница 4)
dima | 4 | 0 (разница 4)
sergey | 6 | 3 (разница 3)
oleg | 3 | 2 (разница 1)

такое реально добиться?

   
 
 автор: tlt   (24.03.2008 в 14:29)   письмо автору
 
   для: tlt   (24.03.2008 в 14:28)
 

и ещё:
если разница одинаковая, то первым идет строка со большим значением в столбце макс...

   
 
 автор: tlt   (24.03.2008 в 14:30)   письмо автору
 
   для: tlt   (24.03.2008 в 14:29)
 

у Саши разница 5:))

   
 
 автор: olejek   (24.03.2008 в 14:38)   письмо автору
 
   для: tlt   (24.03.2008 в 14:30)
 

Можно, конечно.
select name, max, min, max-min as diff from table_name order by diff DESC

   
 
 автор: tlt   (24.03.2008 в 15:29)   письмо автору
 
   для: olejek   (24.03.2008 в 14:38)
 

Вот спасибо!!
а объясните все на пальцах., я ж новичок. Ну селект фром и ордер бай можно не объяснять

   
 
 автор: Thrasher   (25.03.2008 в 09:46)   письмо автору
 
   для: olejek   (24.03.2008 в 14:38)
 

Я бы немножко доделел под поставленную задачу:
select name, max, min, max-min as diff from table_name order by diff DESC, max desc

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования