gpt4 book ai didi

PostgreSQL - 返回表中所有列的最常见值

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

我有一个包含很多列的表,我想运行一个查询来查找每列中最常见的值。

通常对于单个列,我会运行如下内容:

SELECT country
FROM users
GROUP BY country
ORDER BY count(*) DESC
LIMIT 1

PostgreSQL 是否具有执行此操作的内置函数,或者任何人都可以建议我可以运行以实现此目的的查询吗?

最佳答案

使用相同的查询,对于多个列你应该这样做:

SELECT *
FROM
(
SELECT country
FROM users
GROUP BY 1
ORDER BY count(*) DESC
LIMIT 1
) country
,(
SELECT city
FROM users
GROUP BY 1
ORDER BY count(*) DESC
LIMIT 1
) city

这适用于任何类型,并将返回同一行中的所有值,列具有其原始名称。

对于更多的列,只有更多的子查询:

,(
SELECT someOtherColumn
FROM users
GROUP BY 1
ORDER BY count(*) DESC
LIMIT 1
) someOtherColumn

编辑:

您也可以使用窗口函数访问它。然而,它在性能和可读性方面都不会更好。

关于PostgreSQL - 返回表中所有列的最常见值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27550509/

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