关于MySQL数据如何过滤不完全重复的问题

image.png

比如1、2行,除了日期,所有列都是重复的,怎么把日期小的一行过滤掉,用MySQL语法怎么写

SQL wgw3721 发布于 2024-5-17 11:17 (编辑于 2024-5-17 11:18)
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共3回答
最佳回答
0
JL98Lv6中级互助
发布于2024-5-17 11:20(编辑于 2024-5-17 11:27)

分组生成序号,之后过滤序号

参考:

MySQL数据库如何生成分组排序的序号

https://blog.csdn.net/gjc592/article/details/135924343

-----------------------------------------------------------------------

如果除了日期,其他数据都一致,也可以直接分组取最小日期

最佳回答
0
3333xzxLv4初级互助
发布于2024-5-25 11:50

看你想保留一条数据还是只去掉最小数据

最佳回答
0
NycA8JihLv2见习互助
发布于2024-5-27 16:01

只要最新一条数据:

SELECT * FROM(

SELECT A.*,ROW_NUMBER() OVER(PARTITION BY 发票号码,开票金额,收款方式,备注,收款情况 ORDER BY 日期 DESC) AS RN

  FROM A) T

WHERE T.RN = 1

  • 4关注人数
  • 107浏览人数
  • 最后回答于:2024-5-27 16:01
    请选择关闭问题的原因
    确定 取消
    返回顶部