首页 > 解决方案 > 如何根据满足SQL条件的最后一条记录创建视图

问题描述

我想将表格转换为给定视图(对于每种情况,我都想要特定团队对其采取行动的最新时间)

桌子

timestamp   teamName    caseNo
8/1/2021    A            1
8/2/2021    A            2
8/3/2021    A            1
8/4/2021    B            1
8/5/2021    B            2
8/6/2021    A            2
        

看法

caseNo  TeamA (Latest Time)     Team B(Latest Time)
        
1             8/3/2021          8/4/2021
2             8/6/2021          8/5/2021

标签: mysqljoingroup-byview

解决方案


CREATE VIEW viewname
AS 
SELECT caseNo, 
       MAX(CASE WHEN teamName = 'A' THEN `timestamp` END) teamA, 
       MAX(CASE WHEN teamName = 'B' THEN `timestamp` END) teamB
FROM tablename
GROUP BY caseNo;

PS。使用的日期时间文字格式错误。您必须使用YYYY-MM-DD模式或应用STR_TO_DATE()功能。


推荐阅读