0

すでに入力されており、注文データが含まれている大きなデータベースがあります。すべての注文を含む order という名前のテーブルがあります。

注文したすべての同じ商品のリストを作成する必要があります。それは次のようなものです:

データベース内の私のデータ

id = 1 | orderid = 1 | product = A 
id = 2 | orderid = 1 | product = A 
id = 3 | orderid = 1 | product = B 
id = 4 | orderid = 1 | product = B
id = 5 | orderid = 1 | product = B 
id = 6 | orderid = 2 | product = A 

要するに:

  • 注文 1 には 2 つの製品 A と 3 つの製品 B があります
  • 注文 2 には、1 つの製品 A と 2 つの製品 B と 4 つの製品 C があります。
  • 注文 3 には 3 つの製品 A と 3 つの製品 C があります

要約したいと思います:

product A ordered 6 times
product B ordered 5 times
product C ordered 7 times

1 つずつ注文された製品を反復処理する方法が見つかりません。これをどのように数えたり、グループ化したりできますか。データベースが私の管理下にないため、追加のテーブルを追加できません。

4

1 に答える 1

2

これは、DB への 1 つのクエリで実行できます。MySql では:

SELECT product, COUNT(*) as count FROM test GROUP BY product

2 つの列が返されます。1 つ目は製品名、2 つ目はカウントです。

于 2012-11-08T12:26:22.013 に答える