gpt4 book ai didi

sql - 如何计算postgresql中字符串聚合中的字符串数

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

所以我有一个表,我通过使用其他列(例如邮政编码)进行分组,我想聚合一些字符串并知道它们的类型,使用字符串聚合函数“string_agg(distinct column, ', ' 按列排序)

问题是通过这样做我不知道每种类型有多少字符串被聚合

所以如果我的 table 看起来像:

column A 

Banana

Monkey

Banana

Thailand

Banana

Monkey

我当前的聚合返回一个包含 [Banana, Monkey, Thailand] 的字段

在现实中,我希望我在同一领域的输出是 [3 Banana, 2 Monkey, 1 Thailand]

我当前的非工作聚合查询看起来像

create table test as select count(a.*), STRING_AGG(cnt::text || ' ' || col, ', ' order by col), a.postcode, a.geom 
FROM tablewithdata a,
(select col, COUNT(*) AS cnt, postcode, geom FROM tablewithdata
GROUP BY col, postcode, geom) x
group by a.postcode, a.geom

这个输出有可能实现吗?

最佳答案

一个选择是首先遍历您的表格并生成计数,然后将所有内容汇总在一起:

WITH cte AS (
SELECT col, COUNT(*) AS cnt
FROM yourTable
GROUP BY col
)

SELECT STRING_AGG(cnt::text || ' ' || col, ', ' order by col)
FROM cte;

3 Banana, 2 Monkey, 1 Thailand

Demo

关于sql - 如何计算postgresql中字符串聚合中的字符串数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50639231/

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