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两行
展开
 我来答
分享教育知识的小花老师
高粉答主

2020-04-29 · 说的都是干货,快来关注
知道答主
回答量:945
采纳率:100%
帮助的人:17万
展开全部

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、查询的结果如下图,到此查出简介中所需要的结果,如下图所示:

殇忄路
推荐于2017-11-26 · TA获得超过561个赞
知道小有建树答主
回答量:478
采纳率:81%
帮助的人:330万
展开全部
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);
有点混乱,还不如说是某列重复时取第一条数据,你看看这是不是你要的
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
printf59277
2014-10-11 · TA获得超过1080个赞
知道大有可为答主
回答量:1812
采纳率:33%
帮助的人:1288万
展开全部
先获取去除重复后的数据的主键 比如 select A,max(key) from table group by A
然后根据这个KEY 再去获取具体的数据
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
洛丹伦的浩劫
2018-03-09
知道答主
回答量:1
采纳率:0%
帮助的人:895
展开全部
select * from 表名A where id in (select min(id) from 表名A group by name);
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
救救大汉江山吧
2014-10-11 · 超过61用户采纳过TA的回答
知道小有建树答主
回答量:222
采纳率:100%
帮助的人:98.1万
展开全部
为啥不是a c d , b c d
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式