SQL语句怎么对单个字段去重,并且要显示所有列
用distinct对单个字段去重只能检索出单个字段那一列,而我想要的是那一列去重而显示所有列怎么做到?举个例子:表头是A、B、C。三行数据分别为a、b、c;a、c、d;b...
用distinct对单个字段去重只能检索出单个字段那一列,而我想要的是那一列去重而显示所有列怎么做到?
举个例子:表头是A、B、C。三行数据分别为a、b、c;a、c、d;b、c、d。我要根据A那列数据去重,得到结果是a、b、c;b、c、d两行 展开
举个例子:表头是A、B、C。三行数据分别为a、b、c;a、c、d;b、c、d。我要根据A那列数据去重,得到结果是a、b、c;b、c、d两行 展开
5个回答
展开全部
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、查询的结果如下图,到此查出简介中所需要的结果,如下图所示:
展开全部
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);
有点混乱,还不如说是某列重复时取第一条数据,你看看这是不是你要的
FROM TABLE_NAME AA
WHERE ROWID =
(SELECT MIN(ROWID) FROM TABLE_NAME BB WHERE BB.A = AA.A GROUP BY BB.A);
有点混乱,还不如说是某列重复时取第一条数据,你看看这是不是你要的
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
先获取去除重复后的数据的主键 比如 select A,max(key) from table group by A
然后根据这个KEY 再去获取具体的数据
然后根据这个KEY 再去获取具体的数据
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
select * from 表名A where id in (select min(id) from 表名A group by name);
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
为啥不是a c d , b c d
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询