gpt4 book ai didi

sql - postgreSQL - 计算虚拟表中的数量

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

我在“WITH”中有下表:

"A" ---- 1 ---- 313
"B" ---- 1 ---- 8
"C" ---- 1 ---- 234

"A" ---- 2 ---- 373
"B" ---- 2 ---- 500
"C" ---- 2 ---- 15

我需要在每个组 (1/2) 中找到具有最大计数的变量 (A/B/C)。

也就是说,对于第 1 组,变量是 A。对于第 2 组,变量是 B。所以我想用它制作的新表格是这样的:

"A" -- 1
"B" -- 1
"C" -- 0

最佳答案

这里有两个问题:

  1. 对于每组,找出哪个变量的计数最高
  2. 计算每个变量出现次数最多的次数

解决这个问题的方法是分别解决每个问题。对于 1,您可以使用源自 this answer 的解决方案:

SELECT t1.*
FROM mytable t1
LEFT OUTER JOIN mytable t2
ON (t1.groupid = t2.groupid AND t1.countnum < t2.countnum)

将上述调用与变量计数的打印输出相结合,产生以下调用:

SELECT variable, count(variable) FROM (
SELECT t1.*
FROM mytable t1
LEFT OUTER JOIN mytable t2
ON (t1.groupid = t2.groupid AND t1.countnum < t2.countnum)
) AS counts
GROUP BY variable;

关于sql - postgreSQL - 计算虚拟表中的数量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31794511/

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