gpt4 book ai didi

mysql - SQL查询仅获取日期的最新值

转载 作者:行者123 更新时间:2023-11-29 14:52:00 25 4
gpt4 key购买 nike

我有以下两个表:

表1 {T1ID,名称}

表2 {T2ID、T1ID、日期、值}

日期的类型为 DATE。

我正在寻找一个 SQL 查询来仅为名称与特定字符串匹配的每个 T1ID 获取最新值(按日期)

SELECT`Table2`.`T1ID`,
`Table2`.`Value`,
`Table2`.`Date`,
`Table1`.`Name`,
FROM `Table1`
INNER JOIN `Table2` ON `Table2`.`T1ID` = `Table1`.`T1ID`
WHERE `Table1`.`Name` LIKE 'Smith'

但这会返回同一 T1ID 的多个日期的值。

如何仅获取日期的最新值?

<小时/>

编辑:我使用的是MySQL 5.5.8

最佳答案

如果我正确理解了这个问题:假设MySQL:

SELECT`Table2`.`T1ID`,
`Table2`.`Value`,
`Table2`.`Date`,
`Table1`.`Name`
FROM `Table1`
INNER JOIN `Table2` ON `Table2`.`T1ID` = `Table1`.`ID`,
(SELECT T1ID, MAX(Date) AS 'Date' FROM Table2 GROUP BY T1ID) Table3
WHERE
`Table3`.`T1ID` = `Table2`.`T1ID`
AND
`Table3`.`Date` = `Table2`.`Date`
AND
`Table1`.`Name` LIKE 'Smith'

编辑:更新了代码以恢复正确的结果集。删除了 MSSQL 答案,因为它不相关

关于mysql - SQL查询仅获取日期的最新值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5538873/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com