请教大神,MYSQL有个时间筛选问题

111oi 2018-12-29 11:10:14
目前表中有A、B三字段,C为时间

如何根据根据最大时间筛选出保留A和B的唯一对应关系

如:A B C
1 张三 2015-1-1
2 李四 2016-1-1
1 李四 2015-2-1
2 张三 2017-2-1


得到最后的结果为
A B C
1 李四 2015-2-1
2 张三 2017-2-1
...全文
155 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
111oi 2018-12-29
  • 打赏
  • 举报
回复
感谢,成功,我自己写少写了 AND t.c = a.C;想错了。
吉普赛的歌 2018-12-29
  • 打赏
  • 举报
回复
drop table if exists t;
create table t(
	A int,
	B nvarchar(10),
	C datetime
);
insert into t values(1,'张三','2015-01-01');
insert into t values(2,'李四','2016-01-01');
insert into t values(1,'李四','2015-02-01');
insert into t values(2,'张三','2017-02-01');

select t.* from t inner join (
    select A,max(C) as maxC from t group by A
) as tt
on t.A=tt.A and t.C=tt.maxC;
/*
+---+------+---------------------+
| A | B    | C                   |
+---+------+---------------------+
| 1 | 李四 | 2015-02-01 00:00:00 |
| 2 | 张三 | 2017-02-01 00:00:00 |
+---+------+---------------------+
*/
二月十六 2018-12-29
  • 打赏
  • 举报
回复
引用 2 楼 111oi 的回复:
不是,是取A下面的最大时间 A为1,最大时间为李四 2015-2-1 A为2,最大时间为张三2017-2-1
那就这样
--测试数据
if not object_id(N'Tempdb..#T') is null
	drop table #T
Go
Create table #T([A] int,[B] nvarchar(22),[C] Date)
Insert #T
select 1,N'张三','2015-1-1' union all
select 2,N'李四','2016-1-1' union all
select 1,N'李四','2015-2-1' union all
select 2,N'张三','2017-2-1'
Go
--测试数据结束
SELECT a.*
FROM #T a
    JOIN
    (SELECT A, MAX(C) c FROM #T GROUP BY A) t
        ON t.A = a.A
           AND t.c = a.C;
二月十六 2018-12-29
  • 打赏
  • 举报
回复
--测试数据
if not object_id(N'Tempdb..#T') is null
	drop table #T
Go
Create table #T([A] int,[B] nvarchar(22),[C] Date)
Insert #T
select 1,N'张三','2015-1-1' union all
select 2,N'李四','2016-1-1' union all
select 1,N'李四','2015-2-1' union all
select 2,N'张三','2017-2-1'
Go
--测试数据结束
SELECT a.*
FROM #T a
    JOIN
    (SELECT B, MAX(C) c FROM #T GROUP BY B) t
        ON t.B = a.B
           AND t.c = a.C;
111oi 2018-12-29
  • 打赏
  • 举报
回复
不是,是取A下面的最大时间
A为1,最大时间为李四 2015-2-1
A为2,最大时间为张三2017-2-1
二月十六 2018-12-29
  • 打赏
  • 举报
回复
李四的最大时间不是16年1月1号?

56,677

社区成员

发帖
与我相关
我的任务
社区描述
MySQL相关内容讨论专区
社区管理员
  • MySQL
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧