2013-07-15 33 views
0

我行的數據成千上萬,其片段的樣子:選擇每個唯一字段值單行SQL開發

+-------------+-----------+-------+ 
| 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出現不止一次任何情況下,在價值'銷售額'也是相同的,但'公司'的價值是不同的(在整個表格中都是如此)。我需要「客戶ID」中的每個值都只出現一次,因此我需要爲每個客戶ID指定一行。

換句話說,我想對上表的樣子:

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

如果有人知道我怎麼能去這樣做,我更欣賞一些幫助。 謝謝!

+1

'GROUP BY Customer_ID'? –

+0

@Marc乙 - 我不明白我怎麼可以使用GROUP BY,我不想聚合任何領域。 – DrNerj

+0

那麼你想選擇哪家公司,例如首先按照字母順序? –

回答

0

那麼它會有幫助,如果你已經把你的SQL生成的數據。

但它可能會像這樣;

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

假設;有很多公司,並挑出最多的發生次數和銷售數據在不同的表格中。

希望這會有所幫助。

+0

非常感謝。這工作完美! – DrNerj