有时候我们会遇到这种情况,数据表中有两个或者多个字段相同的记录,但我们只想挑选出这些相同记录中的一条,如下:
id | name | age | sex | address |
1 | 张三 | 20 | 男 | 南京 |
2 | 张三 | 20 | 男 | 上海 |
3 | 王五 | 23 | 女 | 无锡 |
4 | 李斯 | 25 | 男 | 北京 |
我想查询时剔除姓名、年龄和性别相同的记录,查询结果想如下形式:
id | name | age | sex | addrs |
1 | 张三 | 20 | 男 | 南京 |
2 | 王五 | 23 | 女 | 无锡 |
3 | 李斯 | 25 | 男 | 北京 |
请问老师们 有啥好的方法支招。之前在网上查到通过rowid来查询,如下:
select t1.* from table t1 where rowid in (select min(rowid) from table t2 where t1. name=t2.name and t1. age=t2.age and t1.sex=t2.sex) 但是用改语句有点问题,就是有时候可以查到想要的值,有时候查询记录为空,不止为何?请知道的朋友多多指点