2015-10-15 81 views
0

我有以下表格:發票,顏色,類型,數

Invoice| Colour | Type 

In_001 | Red | D 
In_001 | Red | D 
In_001 | Yellow | E 
In_002 | Red | H 

我期望的結果是,以理清其已經購買了超過 兩個項目的任何發票,並顯示計數。

見下文,所期望的結果:

Invoice | Colour | Type | Count 

In_001 | Red | D | 2 
In_001 | Yellow | E | 1 

備註:In_002不包括由於這樣的事實,它具有購買只有一個項目。

我嘗試下面的命令:

select invoice, colour, type, count(invoice) from t 
group by invoice,colour,type 
having count(invoice)>1; 

結果是:

Invoice | Colour | Type | Count 

In_001 | Red | D | 2 

請幫助。

回答

0

該組由所有三個發票,顏色和類型。所以結果只會是這樣。 我們可以試試下面的查詢來實現它: -

select invoice,colour,type,count(invoice) from t where invoice in 
(select invoice from t group by invoice having count(invoice) >1) 
group by invoice,colour,type 
+0

十分感謝馬杜^ 0^ –

+0

這是確定....如果我的回答是有用的,你可以接受並投贊成票...... – madhu

+0

喜馬杜,如何投票? –