SQL语句怎么对单个字段去重,并且要显示所有列

用distinct对单个字段去重只能检索出单个字段那一列,而我想要的是那一列去重而显示所有列怎么做到?
举个例子:表头是A、B、C。三行数据分别为a、b、c;a、c、d;b、c、d。我要根据A那列数据去重,得到结果是a、b、c;b、c、d两行

1、打开SQLyog,在其中新建一个数据库“student”,如下图所示:

2、接着,在student数据库新建学生表,通过界面设计学生表中的字段和字段类型长度,如下图所示:

3、在学生表中,添加“stu_no”和“stu_score”两个字段,单击确定后,给该表取名为“t_student_tab”,具体如下图:

4、向“t_student_tab”插入如下图的数据,并单击界面上的“保存”,保存插入的数据,如下图所示:

5、在查询输入框中输入以下SQL语句:

SELECTt.stu_no,MIN(t.stu_score)FROMt_student_tabtGROUPBYt.stu_noORDERBYt.stu_no

查询结果,如下图所示:

6、查询的结果如下图,到此查出简介中所需要的结果,如下图所示:

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-11-26
SELECT A, B, C
FROM TABLE_NAME AA
WHERE ROWID =
(SELECT MIN(ROWID) FROM TABLE_NAME BB WHERE BB.A = AA.A GROUP BY BB.A);
有点混乱,还不如说是某列重复时取第一条数据,你看看这是不是你要的本回答被提问者和网友采纳
第2个回答  2014-10-11
先获取去除重复后的数据的主键 比如 select A,max(key) from table group by A
然后根据这个KEY 再去获取具体的数据
第3个回答  2018-03-09
select * from 表名A where id in (select min(id) from 表名A group by name);
第4个回答  2014-10-11
为啥不是a c d , b c d
相似回答