基于特定值的组数据

时间:2012-11-05 18:54:04

标签: mysql sql tsql group-by

我有一个名为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;

2 个答案:

答案 0 :(得分:3)

select distinct xid, repeat_status
from x
order by xid, repeat_status

答案 1 :(得分:3)

您也可以尝试按此查询分组

SELECT xid, repeat_status FROM x 

GROUP BY xid,repeat_status

发布:What is difference between DISTINCT and GROUP BY?

DISTINCT和GROUP BY通常会生成相同的查询计划,因此两个查询结构的性能应该相同。

但是这是 sql server 没有想法回合 mysql