2010-08-03 1 views
3

У меня есть таблица sql с именами клиентов и заказами, которые они размещают с течением времени.Как получить вывод заказа после использования группы в sql-запросе?

Имена столбцов таблицы - это идентификатор, имя клиента, значение заказа, статус, а также созданные и измененные.

Я могу сгруппировать имена клиентов и количество заказов.

с помощью SQL-запроса, как это ..

SELECT Customer,count(OrderPrice) FROM Orders GROUP BY Customer 

Он отлично работает. Но я хочу, чтобы результат упорядочивался по количеству заказов (количество). Клиент с большим количеством заказов входит в начало списка.

Я ценю любую помощь.

Спасибо.

ответ

5
SELECT Customer 
     , count(OrderPrice) cnt 
     FROM Orders 
    GROUP BY Customer 
    ORDER BY cnt DESC 
+0

FYI: Номер в ORDER BY называется «порядковым номером» - он ссылается на значение столбца во 2-й позиции предложения SELECT в этом примере. Не рекомендуемая практика - если порядок столбцов изменяется, порядок будет по-прежнему основываться на том, что есть во втором столбце. –

+0

@OMG Ponies - Достаточно честный, я исправил его :). – dcp

+0

Я уже поддержал –

1

ВЫБРАТЬ клиентов, счетчик (OrderPrice) order_count FROM Orders GROUP BY Customer ORDER BY order_count убыв

Наслаждайтесь!

+1

Ваш GROUP BY/ORDER BY - назад (т. Е. GROUP BY до ORDER BY). – dcp

+0

Хороший улов - Спасибо! – Doug

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