我希望获得在特定年份的特定月份销售最多的十大产品。我做了以下事情:
SELECT Year(date1), Month(date1), `ProductID`, sum(`Price`*`Quantity`)"Sales"
FROM `products`
Group By Year(date1), Month(date1), ProductId
order by Year(date1), Month(date1), Sales Desc;
但是,它给了我所有的产品,我只想要十大产品。 无法理解适用于10条记录的限制,
答案 0 :(得分:1)
如果你按照自己的意愿设置排序,只需添加
即可LIMIT 0,10
到您的查询
答案 1 :(得分:0)
在选择查询结尾处使用mysql内置函数Limit
LIMIT {[offset,] row_count | row_count OFFSET offset}
^ ^
Starting tuple Number of tuples
更多阅读Go Here
答案 2 :(得分:0)
考虑重组group by子句,order by,where子句和date_format的用法
SELECT date_format(date1) as month, `ProductID`, sum(`Price`*`Quantity`)"Sales"
FROM `products`
WHERE date1 > '2013-01-01' and date1 < '2013-02-01'
Group By ProductId
order by Sales Desc
Limit 0,10
;