gpt4 book ai didi

mysql - SQL - 无法使用多个聚合函数结果过滤表

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

我正在寻找以下代码不起作用的解释。具体来说就是这条线
lc=MIN(lc) 或 lc=MAX(lc)
这不就是比较两个数字吗?

SELECT city, lc FROM      (SELECT city, LENGTH(city) AS lc FROM station) AS t1   GROUP BY city HAVING lc=MIN(lc) OR lc=MAX(lc)

编辑删除了很多信息,因为人们没有阅读我的问题,而是查看我的代码,然后提供我不需要的修复程序。我想要关于 SQL 概念/理论的问题的答案。

最佳答案

您可以使用INNER JOIN 将表过滤为查找最小和最大长度的子查询。

SELECT s.city, LENGTH(s.city) AS city_length
FROM station AS s
INNER JOIN (
SELECT MIN(LENGTH(city)) AS min_length, MAX(LENGTH(city)) AS max_length
FROM station
) AS a ON LENGTH(s.city) IN (a.min_length, a.max_length);

当然,如果最小和最大长度存在联系,您将获得所有这些条目。

关于mysql - SQL - 无法使用多个聚合函数结果过滤表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42429624/

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