gpt4 book ai didi

mysql - 从第二个表中获取最大值,并通过连接两个表对结果集进行排序

转载 作者:行者123 更新时间:2023-11-29 07:58:54 24 4
gpt4 key购买 nike

我被一个查询困住了。

我有以下表结构

表1

+----+-------+
| cid | name|
+----+-------+
| 1 | name1 |
| 2 | name2 |
| 3 | name3 |
| 4 | name4 |
| 5 | name5 |
+----+-------+

表2

+----+-------+------+
| id | cid | value|
+----+-------+------+
| 1 | 1 | 200 |
| 2 | 1 | 300 |
| 3 | 1 | 500 |
| 4 | 2 | 200 |
| 5 | 2 | 400 |
| 6 | 3 | 100 |
+----+-------+------+

我需要一个查询来按表2的降序获取最大值的数据。表1和表2具有一对多的关系,所以我需要像这样的结果

+----+-------+------+
| cid | name | value|
+----+-------+------+
| 1 | name1| 500 |
| 2 | name2| 400 |
| 3 | name3| 100 |
| 4 | name4| NULL |
| 5 | name5| NULL |
+----+-------+------+

最佳答案

实现此目的的一个简单方法是使用相关子查询:

select t1.*,
(select max(value)
from table2 t2
where t2.cid = t1.cid
) as maxvalue
from table1 t1
order by maxvalue desc, t1.cid;

关于mysql - 从第二个表中获取最大值,并通过连接两个表对结果集进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24409947/

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