gpt4 book ai didi

PostgreSQL 数据分析/聚合

转载 作者:行者123 更新时间:2023-11-29 14:05:38 28 4
gpt4 key购买 nike

我在 PostgreSQL 中有一个表,其结构和数据如下:

Question      | Answer      | Responses
---------------------------------------
Burger BigMac 8
Burger Whopper 19
Burger Cheeseburger 4
Drink Coke 22
Drink Water 1
Drink Juice 7
Side Salad 8
Side Fries 19

我怎样才能运行一个查询,返回每个“问题”的“答案”最高的“答案”?对于上述数据,我希望看到如下内容:

Question      | Answer      | Responses
---------------------------------------
Burger Whopper 19
Drink Coke 22
Side Fries 19

我对每个“问题”获得最高的“响应”没有任何问题,但事实证明,提取相关的“答案”也是一个问题。用于获得问题和最高响应的 SQL 是:

SELECT Question, MAX(Responses) FROM mytable GROUP BY Question;

谁能阐明我等式的最后一部分 - 显示相关答案?

我试过这个:

SELECT Question, Answer, MAX(Responses) FROM mytable GROUP BY Question;

但是 Postgres 提示 Answer 没有被用于聚合或 GROUP BY 语句中。我是否只需要事先确定我所有的问题,然后对每个问题进行 SQL 查询以找到响应最多的答案?我不想走这条乱七八糟的路,但我想这是一个选择。

谢谢!

最佳答案

SELECT
DISTINCT ON (question)
question, answer, responses
FROM
mytable
ORDER BY
question, responses DESC;

关于PostgreSQL 数据分析/聚合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/933769/

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