0

我想获得在特定年份的特定月份销售最多的前十种产品。我做了以下事情:

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 名的产品。无法理解 10 条记录的限制适用于何处,

4

3 回答 3

1

如果您按照需要设置排序,只需添加

LIMIT 0,10

对您的查询

于 2013-03-13T19:08:32.293 回答
0

在选择查询结束时使用 mysql 内置函数 Limit

LIMIT {[offset,] row_count | row_count OFFSET offset}
            ^                    ^
        Starting tuple     Number of tuples

更多阅读请点击这里

于 2013-03-13T19:14:08.133 回答
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
;
于 2013-03-13T19:34:58.370 回答