gpt4 book ai didi

MySQL返回id,其中出现次数>属性值

转载 作者:行者123 更新时间:2023-11-29 12:21:01 27 4
gpt4 key购买 nike

我有两个表:

Bike__________________________       Kiosk  

带列:

BikeID, Location_________________    KioskID, Capacity  

以及数据,例如:

1, 1 ___________________________     1, 10  
2, 1 ___________________________ 2, 5
3, 1 ___________________________ 3, 15
4, 2
5, 1

等等...位置是指向 kioskid 的外键。我正在尝试编写一个查询,仅返回具有容量的信息亭的 KioskID。换句话说,如果 7 辆自行车停放在自助服务终端 1,则归还自助服务终端 1。如果 5 辆自行车停放在 2 号服务亭,则不会归还。我能够编写返回每个信息亭的自行车数量的代码,但对如何使用此(嵌套查询?)仅返回容量>计数(*)的信息亭感到困惑。

SELECT k.kioskid, COUNT(*)  
FROM kiosk AS k
JOIN bike AS b ON b.location = k.kioskid
GROUP BY k.kioskid

最佳答案

你就快到了。所需要的只是一个 HAVING 子句,用于将每个信息亭的自行车数量与容量进行比较。

SQL Fiddle

SELECT k.kioskid
FROM kiosk k
left outer join bike b on b.location = k.kioskid
GROUP BY
k.kioskid
HAVING
COUNT(*) < MAX(k.Capacity)

作为旁注,我强烈建议将 location 列重命名为 kioskid,以隐式明确外键关系是什么。

关于MySQL返回id,其中出现次数>属性值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28996528/

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