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

Форум MySQL

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

 

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

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

тема: Сортировка по двум ключам
 
 автор: Deed   (03.01.2017 в 08:54)   письмо автору
 
 

Доброго дня!

CREATE TABLE table_name (id INT, for_id INT, comms VARCHAR(50));
    INSERT INTO table_name VALUES (1,0, 'boo'),
                                    (2,1, 'John'),
                                    (3,0, 'Zoe'),
                                    (4,3, 'bar'),
                                    (5,1, 'Don'),
                                    (6,3, 'FOO'),
                                    (7,1, 'Doe');

http://sqlfiddle.com/#!9/859933/6
Хотелось бы получить такое:

1.0.'boo'
2.1.'John'
5.1.'Don'
7.1.'Doe'
3.0.'Zoe'
4.3.'bar'
6.3.'FOO'


Спасибо.

  Ответить  
 
 автор: Deed   (03.01.2017 в 11:26)   письмо автору
 
   для: Deed   (03.01.2017 в 08:54)
 

Решено:

select *
from table_name
order by 
    case when for_id = 0 then id
         else for_id
    end
    , id asc

  Ответить  
 
 автор: elenaki   (03.01.2017 в 11:28)   письмо автору
 
   для: Deed   (03.01.2017 в 08:54)
 



SELECT * FROM table_name  ORDER BY id, for_id, comms

  Ответить  
 
 автор: Deed   (03.01.2017 в 13:16)   письмо автору
 
   для: elenaki   (03.01.2017 в 11:28)
 

Нет, это работать не будет, я пробовал.
Вот: http://sqlfiddle.com/#!9/502db/1

  Ответить  
Rambler's Top100
вверх

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