4

xというテーブルがあり、そのテーブルにはid列とrepeatstatus列があります。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;
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

投稿: DISTINCT と GROUP BY の違いは何ですか?

通常、DISTINCT と GROUP BY は同じクエリ プランを生成するため、パフォーマンスは両方のクエリ構造で同じになるはずです。

しかし、これはSQLサーバー用で、 mysqlについてのアイデアはありません

于 2012-11-05T18:57:57.133 に答える