gpt4 book ai didi

mysql - 如何连接两个显示其他表的 max() 的表

转载 作者:行者123 更新时间:2023-11-30 23:49:36 25 4
gpt4 key购买 nike

我有水果表:

|ID|FruitName|
|1 |Banana |
|2 |Orange |
|3 |Apple |

我还有销售表:

|ID|Month|Sold|
|1 |Jan |20 |
|1 |Feb |10 |
|1 |Mar |30 |
|2 |Apr |15 |
|2 |Jan |25 |
|3 |Jul |25 |
|3 |Jun |18 |

现在我要显示这个

1|Banana|Mar|30|
2|Orange|Jan|25|
3|Apple |Jul|25|

最佳答案

您需要将 fruit 表与 sales 连接一次以获取月份,然后再次连接到 sales 表以获取 maxSold count 使用它可以过滤掉不需要的记录,在这些记录上,sold count 不等于 maxSold

SELECT  f.id, f.name, s.month, maxSold
FROM fruit f LEFT JOIN sales s ON f.id = s.id
LEFT OUTER JOIN
(SELECT id, max(sold) maxSold FROM sales
GROUP BY id) salesMax ON salesMax.id = f.id
WHERE s.sold = maxSold

参见 demo

关于mysql - 如何连接两个显示其他表的 max() 的表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18754627/

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