Помогите составить запрос. (Сложная сортировка)
1.
Валерий (27.02.2011 / 11:52)
Есть таблица prodavec
prodavec:
|id,name|
пример:
|1, Вася |
|2, Петя |
|3, Коля |
Есть таблица
tovar:
|id, prodavec_id,title|,
где prodavec_id - идентификатор из таблицы prodavec
пример:
|1, 1, картошка |
|2, 1, морковка |
|3, 2, конфеты |
|4, 1, печенья |
|5, 3, мясо |
|6, 2, хлеб |
Есть таблица pokupka, в ней вся информация о покупках:
pokupka:
|id, tovar_id|
tovar_id - идентификатор из таблицы tovar
пример:
|1, 1 |
|2, 3 |
|3, 3 |
|4, 1 |
|5, 2 |
|6, 1 |
Нужно выбрать продавцов, продавших больше всего товаров (отсортировать по количеству продаж). Как это сделать?
2.
Марсель (27.02.2011 / 12:16)
Так попробуй
"SELECT `p`.*, COUNT(`t`.`prodavec_id`) AS `total` FROM `prodavec` AS `p` INNER JOIN `tovar` AS `t` ON (`t`.`prodavec_id` = `p`.`id`) INNER JOIN `pokupka` AS `p2` ON (`p2`.`tovar_id` = `t`.`id`) GROUP BY `t`.`id`, ORDER BY `total` ASC"
3.
Валерий (27.02.2011 / 12:27)
ofroke, выдаёт такой результат
name total
Коля 4
Коля 3
Коля 3
Вася 2
Коля 2
Петя 2
Ты близок, можешь подправить запрос?
4.
Станислав (27.02.2011 / 13:26)
а нафиг так всё усложнять, если можно количество продаж к продавцам запихать?
5.
Валерий (27.02.2011 / 13:31)
ну если так не получится, то запихаю к продавцам
6.
Станислав (27.02.2011 / 13:40)
получиться-то получится. Если бы был сейчас с ноутом своим, то помог бы. Но ты прикинь, как это всё будет туго, если продавцов будет, ну скажем, 100, товаров 600...
7.
Валерий (27.02.2011 / 14:02)
Ок, запихал счётчик продаж к продавцам.
URL:
https://visavi.net/topics/19181