SQL group by去重复且按照其他字段排序的操作
网络编程 2021-07-05 14:37www.168986.cn编程入门
这篇文章主要介绍了SQL group by去重复且按照其他字段排序的操作,具有很好的参考价值,希望对大家有所帮助。一起跟随长沙网络推广过来看看吧
需求
合并某一个字段的相同项,并且要按照另一个时间字段排序。
例子
一开始用
select city from table group by city order by date desc
会报错因为date没有包含在聚合函数或 GROUP BY 子句中
然后用将date放入group by中
select city from table group by city,date order by date desc
得到结果
得到的结果还是有重复的,没有解决
如果不按照时间排序,就会影响我之后的操作,所以百度了很久,终于找到了解决方法
正确写法:
select city from table group by city order by max(date) desc
发现很神奇的结果出来了
然后又找了一些资料,发现max()神奇的地方:
select city,max(date) as d1 from table group by city,d1 order by d1 desc
这里写在前面还能看到时间排序
如果还有更好的方法大家一起交流。
补充MYSQL中去重,DISTINCT和GROUP BY的区别
例如有如下表user:
distinct会过滤掉它后面每个字段都重复的记录
用distinct来返回不重复的用户名select distinct name from user;,结果为
用distinct来返回不重复的name和idselect distinct name,id from user;,结果为
distinct name,id 这样的写法,mysql 会认为要过滤掉name和id两个字段都重复的记录。
如果sql这样写
select id,distinct name from user
这样mysql会报错,因为distinct必须放在要查询字段的开头。
group by则可以在要查询的多个字段中,针对其中一个字段去重
select id,name from user group by name;
以上为个人经验,希望能给大家一个参考,也希望大家多多支持狼蚁SEO。如有错误或未考虑完全的地方,望不吝赐教。
编程语言
- 如何快速学会编程 如何快速学会ug编程
- 免费学编程的app 推荐12个免费学编程的好网站
- 电脑怎么编程:电脑怎么编程网咯游戏菜单图标
- 如何写代码新手教学 如何写代码新手教学手机
- 基础编程入门教程视频 基础编程入门教程视频华
- 编程演示:编程演示浦丰投针过程
- 乐高编程加盟 乐高积木编程加盟
- 跟我学plc编程 plc编程自学入门视频教程
- ug编程成航林总 ug编程实战视频
- 孩子学编程的好处和坏处
- 初学者学编程该从哪里开始 新手学编程从哪里入
- 慢走丝编程 慢走丝编程难学吗
- 国内十强少儿编程机构 中国少儿编程机构十强有
- 成人计算机速成培训班 成人计算机速成培训班办
- 孩子学编程网上课程哪家好 儿童学编程比较好的
- 代码编程教学入门软件 代码编程教程