SQLinfo.ru - Все о MySQL

Форум пользователей MySQL

Задавайте вопросы, мы ответим

Вы не зашли.

#1 13.02.2012 08:10:42

Solomon
Участник
Зарегистрирован: 13.02.2012
Сообщений: 2

Как сделать сортировку?

Здравствуйте! Как можно сделать сортировку вывода, чтобы сначала вывелись улицы Москвы, а потом улицы остальных городов отсортированные по городам в алфавитном порядке?

Пробовал такие запросы:

SELECT ST.name, ST.socr, CITY.name, CITY.socr
FROM ((SELECT name, socr, Left(msk_street.code,11) AS CITYCODE FROM msk_street WHERE name LIKE '$q%')
AS ST INNER JOIN msk_city AS CITY ON Left(CITY.Code,11) = ST.CITYCODE) ORDER BY CASE WHEN CITY.name = 'Москва' THEN CITY.name END

SELECT ST.name, ST.socr, CITY.name, CITY.socr
FROM ((SELECT name, socr, Left(msk_street.code,11) AS CITYCODE FROM msk_street WHERE name LIKE '$q%')
AS ST INNER JOIN msk_city AS CITY ON Left(CITY.Code,11) = ST.CITYCODE) ORDER BY (CITY.name = 'Москва') DESC


Не получается то, что нужно. В результате, улицы Москвы оказываются в конце списка, а не в начале и остальные города не сортируются.

Отредактированно Solomon (13.02.2012 08:11:32)

Неактивен

 

#2 13.02.2012 09:39:54

vasya
Архат
MySQL Authorized Developer
Откуда: Орел
Зарегистрирован: 07.03.2007
Сообщений: 5842

Re: Как сделать сортировку?

mysql> create table test (id int not null auto_increment primary key, city varch
ar(256));
Query OK, 0 rows affected (0.61 sec)

mysql> insert into test (city) values('орел'),('москва'),('армавир16');
Query OK, 3 rows affected (0.19 sec)
Records: 3  Duplicates: 0  Warnings: 0

mysql> select * from test;
+----+-----------+
| id | city      |
+----+-----------+
|  1 | орел      |
|  2 | москва    |
|  3 | армавир16 |
+----+-----------+
3 rows in set (0.05 sec)

mysql> select * from test order by (city='москва') desc, city asc;
+----+-----------+
| id | city      |
+----+-----------+
|  2 | москва    |
|  3 | армавир16 |
|  1 | орел      |
+----+-----------+
3 rows in set (0.00 sec)
 

Неактивен

 

#3 14.02.2012 10:10:55

Solomon
Участник
Зарегистрирован: 13.02.2012
Сообщений: 2

Re: Как сделать сортировку?

Спасибо. Проблема была в кодировке файла со скриптом.

Неактивен

 

Board footer

Работает на PunBB
© Copyright 2002–2008 Rickard Andersson