gpt4 book ai didi

sql - 复杂聚合查询

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

create temp table tokens (
id serial not null,
name text not null,
locale text not null,
CONSTRAINT tokens_pkey PRIMARY KEY (id)
);
insert into tokens(name, locale) values
('e47dd0440c923a77915791ffab7346f4', 'en_US'),
('e47dd0440c923a77915791ffab7346f4', 'en_US'),
('e47dd0440c923a77915791ffab7346f4', 'en_US'),
('e47dd0440c923a77915791ffab7346f4', 'en_US'),
('e47dd0440c923a77915791ffab7346f4', 'en_US'),
('e47dd0440c923a77915791ffab7346f4', 'en_GB'),
('e47dd0440c923a77915791ffab7346f4', 'en_AU'),
('8156773b9da51b7cffb4a1af1a326464', 'de_DE'),
('8156773b9da51b7cffb4a1af1a326464', 'de_DE'),
('8156773b9da51b7cffb4a1af1a326464', 'de_DE'),
('8156773b9da51b7cffb4a1af1a326464', 'de_AT')

select
max(cnt) max, name, locale
from (
select count(id) cnt, name, locale
from tokens
group by name,
locale
) q
group by
name,
locale
order by
max(cnt) desc,
name,
locale

/*
Result:
max;name;locale
5;e47dd0440c923a77915791ffab7346f4;en_US
3;8156773b9da51b7cffb4a1af1a326464;de_DE
1;8156773b9da51b7cffb4a1af1a326464;de_AT
1;e47dd0440c923a77915791ffab7346f4;en_AU
1;e47dd0440c923a77915791ffab7346f4;en_GB

Expected result:
max;name;locale
5;e47dd0440c923a77915791ffab7346f4;en_US
3;8156773b9da51b7cffb4a1af1a326464;de_DE
*/

我需要最大计数的 token 和语言环境,但问题是如果我按语言环境分组,我会得到错误的结果

Fiddle

最佳答案

select cnt, name, locale from (
select
cnt, name, locale,
row_number() over (partition by name order by cnt desc) rn
from (
select count(id) cnt, name, locale
from tokens
group by name,
locale
) t1
) q where rn = 1 order by cnt desc

http://sqlfiddle.com/#!15/33b36/5

关于sql - 复杂聚合查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25724137/

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