gpt4 book ai didi

sql - 是否有可能在一个查询中最大程度地出现我表中每个键的值?

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

这是我运行的查询,用于获取给定对象的每个键的每个值的计数:

SELECT key, value, COUNT(value)
FROM keyval kv
WHERE object_id = 123456
GROUP BY kv.key, kv.value
ORDER BY kv.key, kv.value;

我要查询的表非常简单。这只是:

object_id BIGINT
key VARCHAR(45)
value VARCHAR(45)

所以我得到如下值:

Color    Red     26
Color Blue 24
Shape Circle 14
Shape Square 12

所以我想解析出 Blue 和 Square 的结果,但保留 Red 和 Circle 的结果。这可能吗?

最佳答案

我会在子查询或 cte 中使用 row_number:

select
[key],
value,
cnt
from (
select
[key],
value,
count(*) as cnt,
row_number() over(partition by [key] order by count(*) desc) rnk
from keyval
where object_id = 123456
group by
[key],
value
) kv
where rnk = 1

http://sqlfiddle.com/#!6/4d869/5

关于sql - 是否有可能在一个查询中最大程度地出现我表中每个键的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27713587/

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