mysql 两字段组合求最新的所有数据 求解
一起来解题 我是做不出来
比如·下面这个错误例子:拿出来的ID是不对的 是旧的
SELECT ID,A字段,B字段,MAX(时间) FROM table_name GROUP BY A字段,B字段
需要 :
每个A字段 和B字段匹配的 最新时间的所有数据 而不是只要一个ID
重点:
这个时间 是每个A字段都不同的 也许这个数据有今天的 但是别的数据只有昨天的 前天的
每个A字段 可能有100条数据 可能有1条数据
B字段全部是重复的 大约有几百条 有的A字段可能全表都有B字段的组合 也可能只有某几个
可能只有第一条对你们有用,顺便提一下
数据量
千万级表,需要考虑效率
如何让以上题目的结果为:
ID A字段 B字段 时间
1 1234 6666661 昨天
3 1236 6666663 前天
6 1234 6666662 大前天
7 1235 6666661 今天
8 1237 6666663 今天
例子
比如:姓名为1234的数据是这样子拿的
然后拿1235的 1235 有6666662 和6666661 都是不一样的 所以全部都要
目前1234 和1235的加起来就拿到id为1、2、6、7
然后去拿1236的 这样子下来
注意:这个是看着数据库做的 写查询的时候 可完全不知道 他对应的手机号有哪些 哪些是重复的
坐等英俊帅气有钱前途一片光明有智慧的大佬
SELECT DISTINCT(CONCAT_WS('_',
A
,B
)),id as A_B FROMtable_name
ORDER BY id desc LIMIT 10如果拿你新举的例子来看,你一开始编写的sql是没有问题的
一位朋友提供的,但是这个结果我发现 没有历史的数据 就是比如A字段和B字段昨天一共50条数据 今天只有49条 剩余的那条 我也需要得到 而不是只有这49条~~
嘚,菜鸟表示题都没明白 :neutral_face:
max取最新的id