gpt4 book ai didi

MySQL GROUP BY 查询

转载 作者:行者123 更新时间:2023-11-29 13:30:59 25 4
gpt4 key购买 nike

表格--t_id_with_data_and_count

- f_id、f-data、f_count

它是一个多对多的映射(任何id可以有任意数量的记录(带有f_idf_data设置本质上是唯一的))

SELECT * FROM t_id_with_data_and_count where f-data IN ('PHP','JAVA') GROUP BY 1 HAVING COUNT(*)= 2 AND f_count >=17

预期结果:我希望它返回所有拥有 phpjava 的 ID 以及 php 的数量java >= 17

现在得到的结果:使用 phpjava 获取所有 id,但计数它仅检查 java,如果计数java is >= 17 它向我抛出结果。

但我正在寻找它还应该检查 php 的计数

最佳答案

由于您按 f_id 进行分组,havinf 子句中的 f_count 的值为“PHP”或“JAVA”行。

您需要检查的是 f_count >= 17 并且f_counts 的总和 >= (17 + “任意”f_count)。
(换句话说:如果 f_id 同时包含“PHP”和“JAVA”行并且其中一个 f_count >= 17 < strong>并且两个f_count的总和>=(17 + 一个f_count(我们检查的是>= 17)然后我们找到了匹配!)

SELECT *
FROM t_id_with_data_and_count
WHERE f_data IN ('PHP', 'JAVA')
GROUP BY f_id
HAVING COUNT(f_id) = 2
AND f_count >= 17
AND SUM(f_count) >= f_count + 17

另请参阅此 short demo

关于MySQL GROUP BY 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19462831/

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