0

特定の年の特定の月に最も売れた製品のトップ 10 を取得したいと考えています。私は次のことをしました:

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の製品だけが欲しいです. Limit of 10 records を適用する場所がわかりません。

4

3 に答える 3

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 に答える
0

選択クエリの最後に mysql 組み込み関数 Limit を使用します

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

詳細については、ここに移動してください

于 2013-03-13T19:14:08.133 に答える