0

何千行ものデータがあり、そのセグメントは次のようになります。

+-------------+-----------+-------+  
| Customer ID |  Company  | Sales |  
+-------------+-----------+-------+  
|    45678293 | Sears     |    45 |  
|    01928573 | Walmart   |     6 |  
|    29385068 | Fortinoes |     2 |  
|    49582015 | Walmart   |     1 |  
|    49582015 | Joe's     |     1 |  
|    19285740 | Target    |    56 |  
|    39506783 | Target    |     4 |  
|    39506783 | H&M       |     4 |  
+-------------+-----------+-------+  

顧客 ID が複数回出現する場合は常に、'Sales' の値も同じですが、'Company' の値は異なります (これはテーブル全体に当てはまります)。'Customer ID' の各値が 1 回だけ表示されるようにする必要があるため、顧客 ID ごとに 1 つの行が必要です。

言い換えれば、上の表を次のようにしたいと思います。

+-------------+-----------+-------+  
| Customer ID |  Company  | Sales |  
+-------------+-----------+-------+  
|    45678293 | Sears     |    45 |  
|    01928573 | Walmart   |     6 |  
|    29385068 | Fortinoes |     2 |  
|    49582015 | Walmart   |     1 |  
|    19285740 | Target    |    56 |  
|    39506783 | Target    |     4 |    
+-------------+-----------+-------+

どうすればこれを行うことができるかを誰かが知っていれば、助けていただければ幸いです。ありがとう!

4

1 に答える 1

0

SQLでそのデータを生成した場合、それは役に立ちました。

しかし、それは次のようになるかもしれません。

SELECT customer_id, Max(Company) as company, Count(sales.*) From Customers <your joins and where clause> GROUP BY customer_id

仮定します。多くの会社があり、最も多くの発生数と販売データを別のテーブルに入れます。

お役に立てれば。

于 2013-07-15T15:02:28.207 に答える