2012-11-05 31 views
4

我有一個名爲x的表,該表具有id列和重複狀態列。該id可以存儲相同的值,甚至6個,而每次插入id時重複狀態都會增加1,2 ... n。如果一個新的不同的ID插入重複狀態從1如基於特定值的組數據

xid  repeat_status 
xx123   1 
xx123   1 
xx123   2 
xx123   3 
xx123   3 
xxx45   1 
xxx45   2 
xxx45   2 

開始我如何修改下面的查詢返回的東西是這樣的:

xid   repeat_status 
xx123    1 
xx123    2 
xx123    3 

xxx45    1 
xxx45    2 

SELECT xid 
     ,repeat_status 
FROM x 
GROUP BY repeat_status; 

回答

3

,你也可以通過嘗試組這樣的查詢

SELECT xid, repeat_status FROM x 

GROUP BY xid,repeat_status 

帖子:What is difference between DISTINCT and GROUP BY?

DISTINCT和GROUP BY通常會生成相同的查詢計劃,因此兩個查詢構造中的性能應該是相同的。

但這是SQL服務器沒有想法回合MySQL的

+0

這是一個比我的一個巨大的數據集>? –

+0

感謝您的編輯,我將調查ASM級別發生的事情,以便sortnig –

+0

!很高興知道! –

3
select distinct xid, repeat_status 
from x 
order by xid, repeat_status 
+0

我已經嘗試了上面,但沒有奏效,值1,2所能10.他們每XID – Alphy

+0

我」變化已經編輯,再次檢查 –