Старый 11.12.2011, 16:28   #1
Монстер
 
Аватар для VAU
 
Регистрация: 30.12.2008
Адрес: Монстрополис
Сообщений: 2,496
Вес репутации: 371
VAU - прекрасное будущееVAU - прекрасное будущееVAU - прекрасное будущееVAU - прекрасное будущееVAU - прекрасное будущееVAU - прекрасное будущееVAU - прекрасное будущееVAU - прекрасное будущееVAU - прекрасное будущееVAU - прекрасное будущееVAU - прекрасное будущее
Question Вопрос к знатокам SQL

Есть запрос такого вида:
Цитата:
SELECT TOP (20) a.x
FROM b INNER JOIN a
ON b.y = a.x
GROUP BY a.x
ORDER BY COUNT(b.y) DESC
Т.е. происходит выборка 20 значений а из таблицы x, наиболее часто встречающихся в связанной таблице b в виде значения y.

Вопрос следующий: как теперь отсортировать список по значениям a?

Сортировка в запросе уже применяется (по сумме) и соответственно не дает нормально сделать вторую.
Как вариант возможен вложенный запрос SELECT, но может есть какой-то более эффективный способ?

Заранее благодарен!
__________________
Монстры тоже люди
VAU вне форума   Ответить с цитированием
Старый 11.12.2011, 17:13   #2
Bannеd
 
Регистрация: 17.09.2008
Сообщений: 6,446
Вес репутации: 367
Последний Герой - прекрасное будущееПоследний Герой - прекрасное будущееПоследний Герой - прекрасное будущееПоследний Герой - прекрасное будущееПоследний Герой - прекрасное будущееПоследний Герой - прекрасное будущееПоследний Герой - прекрасное будущееПоследний Герой - прекрасное будущееПоследний Герой - прекрасное будущееПоследний Герой - прекрасное будущееПоследний Герой - прекрасное будущее
По умолчанию

Цитата:
Сообщение от VAU Посмотреть сообщение
Как вариант возможен вложенный запрос SELECT, но может есть какой-то более эффективный способ?
без двух сортировок не обойтись. первым запросом сортируем по COUNT(b.y) в обратном порядке и берем 20 первых записей, затем вторым запросом сортируем результат.

Добавлено через 12 минут
должно получиться что-то вида
Код:
SELECT a.x FROM (SELECT TOP (20) a.x, а.нужное FROM b INNER  JOIN a ON b.y = a.x GROUP BY a.x ORDER BY COUNT(b.y) DESC ) ORDER BY нужное

Последний раз редактировалось Последний Герой; 11.12.2011 в 17:13. Причина: Добавлено сообщение
Последний Герой вне форума   Ответить с цитированием
Старый 11.12.2011, 17:53   #3
Монстер
 
Аватар для VAU
 
Регистрация: 30.12.2008
Адрес: Монстрополис
Сообщений: 2,496
Вес репутации: 371
VAU - прекрасное будущееVAU - прекрасное будущееVAU - прекрасное будущееVAU - прекрасное будущееVAU - прекрасное будущееVAU - прекрасное будущееVAU - прекрасное будущееVAU - прекрасное будущееVAU - прекрасное будущееVAU - прекрасное будущееVAU - прекрасное будущее
По умолчанию

Цитата:
Сообщение от Последний Герой Посмотреть сообщение
должно получиться что-то вида
ОК. Так и сделал. Спасибо!
__________________
Монстры тоже люди
VAU вне форума   Ответить с цитированием
Старый 14.12.2011, 15:43   #4
Эксперт
 
Регистрация: 05.03.2008
Сообщений: 1,095
Вес репутации: 248
boric - прекрасное будущееboric - прекрасное будущееboric - прекрасное будущееboric - прекрасное будущееboric - прекрасное будущееboric - прекрасное будущееboric - прекрасное будущееboric - прекрасное будущееboric - прекрасное будущееboric - прекрасное будущееboric - прекрасное будущее
По умолчанию

VAU, А я бы возможно на стороне клиента полученную выборку из всего 20 значений отсортировал. В данном случае запрос по любому достаточно простой, но бывает народ очень сильно усложняет запрос вместо того, чтобы допилить результат на стороне скрипта.
boric вне форума   Ответить с цитированием
Старый 14.12.2011, 15:44   #5
Bannеd
 
Регистрация: 17.09.2008
Сообщений: 6,446
Вес репутации: 367
Последний Герой - прекрасное будущееПоследний Герой - прекрасное будущееПоследний Герой - прекрасное будущееПоследний Герой - прекрасное будущееПоследний Герой - прекрасное будущееПоследний Герой - прекрасное будущееПоследний Герой - прекрасное будущееПоследний Герой - прекрасное будущееПоследний Герой - прекрасное будущееПоследний Герой - прекрасное будущееПоследний Герой - прекрасное будущее
По умолчанию

Цитата:
Сообщение от boric Посмотреть сообщение
но бывает народ очень сильно усложняет запрос вместо того
в данном случае нет
Последний Герой вне форума   Ответить с цитированием
Старый 14.12.2011, 16:51   #6
Мастер
 
Аватар для kakogohrena
 
Регистрация: 11.05.2011
Сообщений: 911
Вес репутации: 198
kakogohrena - прекрасное будущееkakogohrena - прекрасное будущееkakogohrena - прекрасное будущееkakogohrena - прекрасное будущееkakogohrena - прекрасное будущееkakogohrena - прекрасное будущееkakogohrena - прекрасное будущееkakogohrena - прекрасное будущееkakogohrena - прекрасное будущееkakogohrena - прекрасное будущееkakogohrena - прекрасное будущее
По умолчанию

А если полученный массив отсортировать средставами пхп, это не будет быстрей?
kakogohrena вне форума   Ответить с цитированием
Старый 14.12.2011, 16:57   #7
Монстер
 
Аватар для VAU
 
Регистрация: 30.12.2008
Адрес: Монстрополис
Сообщений: 2,496
Вес репутации: 371
VAU - прекрасное будущееVAU - прекрасное будущееVAU - прекрасное будущееVAU - прекрасное будущееVAU - прекрасное будущееVAU - прекрасное будущееVAU - прекрасное будущееVAU - прекрасное будущееVAU - прекрасное будущееVAU - прекрасное будущееVAU - прекрасное будущее
По умолчанию

Цитата:
Сообщение от boric Посмотреть сообщение
допилить результат на стороне скрипта
Ну пока не так уж много обращений по этому запросу, чтобы раскорячиваться. Просто хотел узнать есть ли неизвестные мне возможности SQL в этом плане.
__________________
Монстры тоже люди
VAU вне форума   Ответить с цитированием
Старый 14.12.2011, 22:58   #8
Bannеd
 
Регистрация: 17.09.2008
Сообщений: 6,446
Вес репутации: 367
Последний Герой - прекрасное будущееПоследний Герой - прекрасное будущееПоследний Герой - прекрасное будущееПоследний Герой - прекрасное будущееПоследний Герой - прекрасное будущееПоследний Герой - прекрасное будущееПоследний Герой - прекрасное будущееПоследний Герой - прекрасное будущееПоследний Герой - прекрасное будущееПоследний Герой - прекрасное будущееПоследний Герой - прекрасное будущее
По умолчанию

Цитата:
Сообщение от kakogohrena Посмотреть сообщение
А если полученный массив отсортировать средставами пхп, это не будет быстрей?
не будет
Последний Герой вне форума   Ответить с цитированием
Старый 15.12.2011, 06:35   #9
Мне повезёт!
 
Аватар для Alexey
 
Регистрация: 05.05.2007
Сообщений: 1,076
Вес репутации: 275
Alexey - прекрасное будущееAlexey - прекрасное будущееAlexey - прекрасное будущееAlexey - прекрасное будущееAlexey - прекрасное будущееAlexey - прекрасное будущееAlexey - прекрасное будущееAlexey - прекрасное будущееAlexey - прекрасное будущееAlexey - прекрасное будущееAlexey - прекрасное будущее
По умолчанию

ORDER BY допускает несколько сортировок типа ORDER BY f1 ASC, f2 DESC.
__________________
Everything will be great in the end.
If it's not great, it's not the end.
Alexey вне форума   Ответить с цитированием
Старый 15.12.2011, 07:17   #10
Bannеd
 
Регистрация: 17.09.2008
Сообщений: 6,446
Вес репутации: 367
Последний Герой - прекрасное будущееПоследний Герой - прекрасное будущееПоследний Герой - прекрасное будущееПоследний Герой - прекрасное будущееПоследний Герой - прекрасное будущееПоследний Герой - прекрасное будущееПоследний Герой - прекрасное будущееПоследний Герой - прекрасное будущееПоследний Герой - прекрасное будущееПоследний Герой - прекрасное будущееПоследний Герой - прекрасное будущее
По умолчанию

Alexey, опять суешься не разобравшись?
Цитата:
Сообщение от Alexey Посмотреть сообщение
ORDER BY f1 ASC, f2 DESC.
записи с одинаковыми значениями f1 будут отсортированы по f2.

ТСу надо сначала отсортировать по одному полю, затем отобрать топ, затем уже сам этот топ пересортировать по другому.
Последний Герой вне форума   Ответить с цитированием
Ответ

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вопрос к знатокам MySQL a112 Курилка 14 17.07.2011 20:35
Вопрос к знатокам ПС про favicon.ico Lenka Курилка 4 31.12.2010 14:24
Вопрос знатокам Друпала magura888 Разработка и сопровождение сайтов 0 01.10.2010 13:34
Вопрос к знатокам Wordpress. nikonoff Курилка 5 19.07.2010 13:16
Фон страницы и css - вопрос к знатокам Globalzru Разработка и сопровождение сайтов 18 13.12.2009 19:09


Часовой пояс GMT +3, время: 09:42.