gpt4 book ai didi

MySQL 查询与 GROUP BY 或 DISTINCT 相反吗?

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

下面的答案对我来说效果很好:

现在,我想选择仅具有 value 0 的所有记录 ext_no,而不是选择 unique 或 group by 。

如何修改这个答案?我尝试使用 order by 但显示错误。任何帮助将不胜感激。提前致谢。

SELECT   ext_no, MAX(value)
FROM test
GROUP BY ext_no
HAVING COUNT(*) > 2 AND
COUNT(*) = COUNT(CASE value WHEN 0 THEN 1 END)

最佳答案

有几种方法可以实现这一目标。在 WHERE 子句中使用几个相关的子查询,或者连接到包含每个子查询的 MAX(value)COUNT(*) 值的表ext_no 的值:

查询 1

SELECT ext_no
FROM test t1
WHERE NOT EXISTS (SELECT *
FROM test t2
WHERE t2.ext_no = t1.ext_no AND value != 0)
AND (SELECT COUNT(*)
FROM test t3
WHERE t3.ext_no = t1.ext_no) > 2

第一个子查询检查此 ext_no 是否没有除 0 之外的 。第二个子查询检查此 ext_no 是否有 2 个以上副本>.

查询 2

在此查询中,我们应用 JOIN 中的所有条件(value 没有非零值且 ext_no 的副本超过 2 个) > 条件。

SELECT t1.ext_no
FROM test t1
JOIN (SELECT ext_no, MAX(value) AS max_value, COUNT(*) AS count
FROM test
GROUP BY ext_no) t2
ON t2.ext_no = t1.ext_no AND t2.max_value = 0 AND t2.count > 2

输出(对于两个查询)

ext_no
12133
12133
12133
11505
11505
11505
11505

Demo on SQLFiddle

关于MySQL 查询与 GROUP BY 或 DISTINCT 相反吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53347676/

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