2010-02-02 2 views
3

Привет ребят У меня есть две таблица, как, например:Быстрый вопрос SQL! Сортировать по большинству вхождений атрибута

Категория: ID - Имя - убывание

товаров ID - Имя - CategoryID - Описание - Цена

I нужен запрос, который возвращает список категорий, ранжированных по большинству вхождений в таблице пунктов

ответ

8

Это должно сделать трюк:

SELECT c.ID, c.Name, count(i.ID) 
FROM Categories c 
LEFT JOIN Items i on (c.ID=i.CategoryID) 
GROUP BY c.ID 
ORDER BY count(i.ID) 
1
SELECT 
    CategoryID, count(*) 
FROM 
    items 
GROUP BY 
    CategoryID 
ORDER BY 
    2 DESC 

Затем вы можете присоединиться к категориям, чтобы получить их имена.

Смежные вопросы