4

我有一个名为 x 的表,该表有 id 列和重复状态列。id 可以存储相同的值,甚至其中 6 个,而每次插入 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;
4

2 回答 2

3
select distinct xid, repeat_status
from x
order by xid, repeat_status
于 2012-11-05T18:55:38.743 回答
3

您也可以像这样尝试按查询分组

SELECT xid, repeat_status FROM x 

GROUP BY xid,repeat_status

Post : DISTINCT 和 GROUP BY 有什么区别?

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

但这是针对sql server不知道mysql

于 2012-11-05T18:57:57.133 回答