select a.* from aaa a where not exists(select 1 from aaa where a3=a.a3 and a1<>a.a1)
--trySELECT MIN(a1) AS a1, MIN(a2) AS a2, a3, MIN(a4) AS a4, MIN(a5) AS a5 FROM aaa GROUP BY a3 ORDER BY a1
举个例子,比如数据库中有如下数据 a1 a2 a3 a4 a5 1 a aaa a a 2 b bbb b b 3 c aaa c c 4 d bbb d d 5 e eee e e 6 f ddd f f 7 g bbb g g 8 h eee h h 9 i eee i i 10 j aaa j j 如何用一条语句取得这样记录集,去掉a3中重复的字段,取a1是最小的,如下 a1 a2 a3 a4 a5 1 a aaa a a 2 b bbb b b 5 e eee e e 6 f ddd f f
啊?怎么这么复杂呀 ? select distinct * from TableName 好像这个语句就可以了吧。
--如果a1不会重复则 --trySELECT * FROM aaa WHERE a1 IN(SELECT MIN(a1) FROM aaa GROUP BY a3)
ORDER BY a1
a1 a2 a3 a4 a5
1 a aaa a a
2 b bbb b b
3 c aaa c c
4 d bbb d d
5 e eee e e
6 f ddd f f
7 g bbb g g
8 h eee h h
9 i eee i i
10 j aaa j j
如何用一条语句取得这样记录集,去掉a3中重复的字段,取a1是最小的,如下
a1 a2 a3 a4 a5
1 a aaa a a
2 b bbb b b
5 e eee e e
6 f ddd f f
select distinct * from TableName
好像这个语句就可以了吧。
--trySELECT * FROM aaa WHERE a1 IN(SELECT MIN(a1) FROM aaa GROUP BY a3)
大家想想有什么好办法啊