2015-11-06 3 views
1

У меня есть таблица, как это ..Количество MySQL и группировка, приказав


| name | product 
--------------------- 
| Amy  | Doll 
| Allan | Bat 
| Bob  | Pen 
| Charlie | Eraser 
| Charlie | Pencil 
| Charlie | Sharpener 
| Allan | Ruler 
| Anoop | Candy 
******************* 

Я хочу, чтобы количество продуктов, купленных каждым клиентом. Выход должен быть отсортирован как 1) Количество продуктов, купленных в порядке desc, и 2) Клиенты, которые покупали одинаковое количество продуктов, должны сортироваться в алфавитном порядке.

Выход:

******************* 
| name  | number 
-------------------- 
| Charlie | 3    
| Allan | 2    
| Amy  | 1 
| Anoop | 1 
| Bob  | 1    
******************* 

ответ

1

Использование GROUP BY:

SELECT name , COUNT(*) AS `number` 
FROM your_table 
GROUP BY name 
ORDER BY `number` DESC, name; 

LiveDemo

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