SQLinfo.ru - Все о MySQL

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

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

Вы не зашли.

#1 16.09.2010 17:08:53

кгыеуь
Участник
Зарегистрирован: 16.09.2010
Сообщений: 1

Запрос на топ 15

Есть статистическая таблица поисков авиарейсов: count (кол-во поисков), from_city, to_city, from_country,to_country. Нужно выбрать топ 15 (по кличеству поисков) городов для оперделенной страны, причем не важно "из" или "в" этот город искали.

Пробовал по-разному, но никак не получается, города повторяются. Помогите плиз составить и понять запрос. Заранее спасибо.

Неактивен

 

#2 16.09.2010 18:00:43

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

Re: Запрос на топ 15

select sum(c), from_city from
(select `count (кол-во поисков)` c, from_city FROM tablename WHERE from_country='определенная страна'
union all
select `count (кол-во поисков)` c, to_city FROM tablename WHERE to_country='определенная страна') t
group by 2 order by 1 desc limit 15;

Неактивен

 

#3 19.09.2010 11:56:46

dead
Участник
Зарегистрирован: 16.08.2008
Сообщений: 14

Re: Запрос на топ 15

А можете ткнуть ссылкой на объяснение group by 2 и order by 1?

Неактивен

 

#4 19.09.2010 15:35:45

paulus
Администратор
MySQL Authorized Developer and DBA
Зарегистрирован: 22.01.2007
Сообщений: 6757

Re: Запрос на топ 15

GROUP BY 2 группирует по столбцу выдачи номер два. ORDER BY 1 — сортирует
по столбцу выдачи номер 1. Просто удобные сокращения.

Неактивен

 

Board footer

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