下面是表结构
id name age sex
1 zhang 24 man
1 zhang 25 woman
2 zhang 24 man
2 li 24 man
需要写一条SQL,如果 id和name都一样,那么就认为是一个人,返回一条记录就可以了,至于返回哪一条无所谓.
期待结果
1 zhang 25 woman
2 zhang 24 man
2 li 24 man
找了半天也没找到解决的办法,distinct和group by都没能实现
[b]问题补充:[/b]
SELECT a.id,a.name,a.age,a.sex FROM USER a LEFT OUTER JOIN(SELECT * FROM USER) b ON a.id = b.id AND a.name = b.name
不行啊 出的更多了 没达到效果
你这个不好写是因为 每条数据没有一个标识 来和其它区分开
如果你能加一列,比如uid,再设上值:
[code="sql"]select * from people where uid IN (select MIN(uid) from people group by id,name);[/code]
试试这个
[code="sql"]SELECT a.id,a.name,a.age,a.sex FROM USER a LEFT OUTER JOIN(SELECT * FROM USER) b ON a.id = b.id AND a.name = b.name[/code]
还真是不好写啊
兄弟,我错了,试试下面这个
[code="sql"]SELECT id,name,age,sex FROM USER GROUP BY id,name[/code]