gpt4 book ai didi

mysql - SQL 从其他表中选择 MAX

转载 作者:行者123 更新时间:2023-11-29 20:30:40 24 4
gpt4 key购买 nike

我有两张 table 。

表1:

| ID | NAME |
|----|------|
| 1 | aaa |
| 2 | aaa |
| 3 | aaa |
| 4 | bbb |
| 5 | bbb |

表2:

| ID | DATE     |
|----|----------|
| 1 | 12/07/10 |
| 2 | 12/07/13 |
| 3 | 12/07/16 |
| 4 | 12/07/08 |
| 5 | 12/07/20 |

请帮帮我,我不知道如何按日期table1SELECT MAX ID table2 中的

例如结果应该是:

for "aaa": ID 3 from table2

for "bbb": ID 5 from table2

我正在尝试类似的事情:

DATE = (SELECT MAX(DATE) FROM table2 t2, table1 t1 WHERE t1.NAME = "aaa") 

但是它不起作用......你有什么想法吗?

最佳答案

您需要为连接添加附加条件 (t1.id = t2.id):

SELECT MAX(DATE) 
FROM table2 t2, table1 t1
WHERE t1.NAME = "aaa"
AND t1.id = t2.id

但是请 - 不要用逗号连接 - 请使用显式的 JOIN 语法:

SELECT MAX(DATE) 
FROM table2 t2
JOIN table1 t1
ON t1.id = t2.id
WHERE t1.NAME = "aaa"

您还可以使用GROUP BY name一次性获取所有名称的所有最大日期:

SELECT t1.NAME, MAX(t2.DATE) 
FROM table2 t2
JOIN table1 t1
ON t1.id = t2.id
GROUP BY t1.NAME

关于mysql - SQL 从其他表中选择 MAX,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39096764/

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