gpt4 book ai didi

mysql - 至少在 SQL 查询中使用

转载 作者:太空宇宙 更新时间:2023-11-03 12:04:19 26 4
gpt4 key购买 nike

我一直在为以下 SQL 工作。我能够使用“AND”为以下内容编写查询,但我能够在查询中使用“至少”。

找出供应红色部件和绿色部件的供应商的 sid。

Select s.sid from suppliers s, catalog c, parts p
where s.sid=c.sid and c.pid=p.pid and p.color='Red'
intersect
Select s.sid from suppliers s, catalog c, parts p
where s.sid=c.sid and c.pid=p.pid and p.color='Green';

如何使用 atleast 为类似

的问题编写查询

“找到供应至少两个红色部件和至少两个绿色部件的供应商的 sid。”

最佳答案

我个人会避免像第一个回复中那样使用子选择的查询。下面是一个使用带有 GROUP BY 和 HAVING 子句的查询的解决方案。您只需计算红色和绿色,然后在 HAVING 中过滤具有您想要的统计数据的供应商。请注意,加入供应商表是不必要的。

SELECT
c.sid,
SUM(CASE WHEN p.color='Red' THEN 1 ELSE 0 END) AS redCt,
SUM(CASE WHEN p.color='Green' THEN 1 ELSE 0 END) AS greenCt
FROM
catalog c
JOIN parts p ON c.pid = p.pid
GROUP BY c.sid
HAVING redCt >= 2 AND greenCt >= 2

http://sqlfiddle.com/#!2/85e8c1/14

关于mysql - 至少在 SQL 查询中使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27371073/

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