Mysql 数据记录去重后按字段排序
来源:互联网 发布:办公软件快捷方式 编辑:程序博客网 时间:2024/06/08 17:25
实现效果:去重—取最新的—排序
例子 : 按用户ID获取历史记录中某个人的记录,要求非重复的且每条只获取最新的,同时按添加时间倒序排列的
实现 :
SELECT * FROM ( SELECT * FROM historys WHERE types_id=1 ORDER BY `created` DESC ) AS B GROUP BY B.data_idorder by B.created DESC
之前在做一个视频的历史播放记录时遇到了去重后倒序排序的功能需求
然后直接写了
SELECT H.* FROM `historys` AS H WHERE H.`users_id` = '259' AND H.`types_id` = 1 GROUP BY H.`data_id` ORDER BY H.`id` ASC
本来以为没问题,结果后来检查时发现是有分组了(实现了去重),但没有把最新的历史记录排在前面
如图,分组了,也倒序排序了,但是获取的记录并不是 data_id 的最新的那条
需要的真实顺序应该是24、23、29、30。。。
sql语句修改为
SELECT A.* FROM (SELECT H.*FROM `historys` AS H WHERE H.`users_id` = '259' AND H.`types_id` = 1ORDER BY H.`id` DESC ) AS AGROUP BY A.data_id ORDER BY A.id DESC结果为
这才是正确的结果
阅读全文
0 0
- Mysql 数据记录去重后按字段排序
- mysql如何去除两个字段数据相同的记录?
- Mysql中文字段排序
- mysql中文字段排序
- mysql特殊字段排序
- mysql中文字段排序
- 解决MySQL中varchar字段排序,多条数据相同字段提取
- mysql数据字段加密
- MySQL数据字段属性
- mysql数据字段属性
- 一步一步学MySQL----10 排序和限制数据记录查询
- 合并相同记录字段数据
- mysql中记录某一字段中重复的个数并且按照次数排序
- [乐意黎转载]mysql删除记录时如何让自动递增的字段重新排序
- mysql 按中文字段排序
- mysql中字段自定义排序
- mysql按字段值排序
- mysql字段按照拼音排序
- 菱形继承
- 51nod 1035 最长的循环节【模拟除法】
- 哈希表
- mysql的索引类型
- 史上最全的maven pom.xml文件教程详解
- Mysql 数据记录去重后按字段排序
- html
- python的星号(*)和双星号(**)用法
- 4领域-8领域-m领域
- C++中常见易错知识点汇总
- codeforces 884 D. Boxes And Balls
- PowerDesigner写E-R图
- 中国为什么每逢大危机都能力挽狂澜?(深度强文)
- HDOJ-2717 Catch That Cow