1

Customer_Invoiceとの列を持つテーブルがitem_nameありますQuantity。特定のアイテムの上位5つのアイテムと販売されたアイテムの数量を降順で表示したい。つまり、アイテムAの数が5で、アイテムBの数が3の場合、アイテムAがトップになり、アイテムBが2番目の番号になります。

|  ITEMCODE | QUANTITY |
------------------------
|     kb434 |        1 |
| A4tech123 |        4 |
|   HDD40GB |        4 |
|    Cell12 |        4 |
|    Icd123 |        2 |
| A4tech123 |        6 |

上の図ではA4tech123、1番目のHDD40GB番号、2番目の番号、Cell123番目の番号などが必要です。

4

5 に答える 5

11
select top 5 Item_code, sum(Quantity)
from customer_invoice
group by Item_code
Order by sum(Quantity) desc
于 2012-11-28T07:41:35.883 に答える
4
select top 5 item_name , sum(Quantity) as Quantity from Customer_Invoice 
group by item_name 
ORDER BY sum(Quantity) DESC
于 2012-11-28T07:41:58.440 に答える
0

postgresをDBとして使用している場合は、以下のクエリを使用してください。

select Item_code, Quantity from customer_invoice order by Quantity desc limit 5

また

他のDBを使用している場合は、次のクエリを使用します。

select top 5 Item_code, Quantity from customer_invoice order by Quantity desc

Postgres DBを使用しているため、2番目をチェックしなかったので、使用する前にそのクエリを確認してください

于 2012-11-28T07:52:44.580 に答える
0
CREATE TABLE invoice
    (ITEMCODE varchar(9), QUANTITY int)
;

INSERT INTO invoice
VALUES
    ('kb434', 1),
    ('A4tech123', 4),
    ('HDD40GB', 4),
    ('Cell12', 4),
    ('Icd123', 2),`
    ('A4tech123', 6)
;


SELECT ITEMCODE,
       SUM(QUANTITY) as total_quantity,
       ROW_NUMBER() OVER (order by sum(QUANTITY) desc) as rank_n
FROM invoice
GROUP BY ITEMCODE

http://sqlfiddle.com/#!18/da13e/6

于 2018-08-29T01:35:25.807 に答える
-3
SELECT TOP 5 * FROM Customer_Invoice ORDER BY QUANTITY
于 2012-11-28T07:43:27.567 に答える