gpt4 book ai didi

sql - 如何通过 HAVING 条件过滤原始行?

转载 作者:行者123 更新时间:2023-12-04 23:57:03 24 4
gpt4 key购买 nike

T-SQL 中选择受 HAVING 属性限制的原始值的方法是什么。例如,如果我有

A|B
10|1
11|2
10|3

我如何获得 B 的所有值(不是平均值或其他一些汇总统计数据),按 A 分组,计数(A 的出现次数)大于或等于两个 2?

最佳答案

实际上,您有多种选择

<强>1。您可以从原始的 having 语句中创建一个子查询并将其连接回您的表

SELECT *
FROM YourTable yt
INNER JOIN (
SELECT A
FROM YourTable
GROUP BY
A
HAVING COUNT(*) >= 2
) cnt ON cnt.A = yt.A

<强>2。另一个等效的解决方案是使用 WITH 子句

  ;WITH cnt AS (
SELECT A
FROM YourTable
GROUP BY
A
HAVING COUNT(*) >= 2
)
SELECT *
FROM YourTable yt
INNER JOIN cnt ON cnt.A = yt.A

<强>3。或者您可以使用 IN 语句

      SELECT *
FROM YourTable yt
WHERE A IN (SELECT A FROM YourTable GROUP BY A HAVING COUNT(*) >= 2)

关于sql - 如何通过 HAVING 条件过滤原始行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8674668/

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