2014-09-20 4 views
0
+-------+-----+-------+----------+-------+ 
| iniid | iID | price | quentity | proID | 
+-------+-----+-------+----------+-------+ 
| 42 | 16 | 20 |  30 | 4001 | 
| 43 | 16 | 20 |  30 | 4001 | 
| 44 | 16 | 20 |  30 | 4002 | 
| 45 | 16 | 20 |  30 | 4002 | 
| 46 | 17 | 20 |  1 | 4001 | 
| 47 | 17 | 20 |  1 | 4003 | 
| 48 | 17 | 20 |  1 | 4005 | 
| 49 | 17 | 20 |  1 | 4001 | 
| 50 | 17 | 20 |  1 | 4009 | 
| 51 | 17 | 20 |  1 | 4002 | 
| 52 | 17 | 20 |  1 | 4001 | 
| 53 | 17 | 20 |  1 | 4005 | 
| 54 | 17 | 20 |  1 | 4008 | 
| 55 | 17 | 20 |  1 | 4008| 
| 56 | 17 | 20 |  1 | 4007 | 
| 57 | 17 | 20 |  1 | 4000 | 
| 58 | 18 | 20 |  2 | 4005 | 
| 59 | 18 | 20 |  2 | 4002 | 
| 60 | 18 | 20 |  2 | 4003 | 
| 61 | 18 | 20 |  2 | 4003 | 
| 62 | 18 | 20 |  2 | 4009 | 
| 63 | 18 | 20 |  2 | 4003 | 
| 64 | 18 | 20 |  2 | 4002 | 

теперь я хочу, чтобы найти топ-5 продаж продуктов определенного месяца .и иметь реестр счетов тоже, так что я могу получить 'iId' для конкретного месяца .my вопрос, как я могу выбрать top 5 продуктов для данного iId.proID могут быть одинаковыми или разными [обычно разные] .top означает максимальное количество. Так что я хочу идентификатор продукта (proID) из 5 лучших [количество] .i попытался написать mysql-запрос, но не смог.как выбрать 5 лучших продуктов из таблицы

select (top 5 quentity) from invoice where iID>15; 

expected result 

total quentity of 4001=63; 
total quentity of 4002=65; 
........and so on......... 

so top 2 products are 4002 and 4001; 
so i wanna get 4002,4001,.....[5th product] 

ответ

2

MySQL использует LIMIT вместо TOP. Просто заказать quentity поле DESC и вы получите первые 5 записей с самым высоким quentity:

SELECT * 
FROM Invoice 
WHERE iID>15 
ORDER BY quentity DESC 
LIMIT 5 

Обратите внимание, что возможно вы пятый результат будет ничья. Если вам нужно учесть связи, вы можете использовать определенные пользователем переменные.


Учитывая внесенные изменения, вы хотите SUM в quentity поле, а затем заказать результаты будут самыми высокими суммированные величины.

+0

@sgedded проблема в том, что я хочу найти 5 лучших продуктов, которые имеют наибольшее количество.proID - это идентификатор продукта. По словам ур ответ, это даст мне все самые высокие количества. –

+0

@PiumiWandana - Учитывая ваши изменения, я отредактировал свой ответ. Похоже, вы ищете 'SUM'. – sgeddes

+0

да! это то, что я хочу .. спасибо много –

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