gpt4 book ai didi

mysql - 有没有办法输出具有更多实例的值?

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

我正在使用 MySQL,但在尝试根据评分输出地点列表时遇到了问题。

我正在尝试输出一个包含单列(地点)的表格,其中包含具有更多良好评级而不是不良评级的地点的名称。

这是我的评分表:

CREATE TABLE ratings (
ID int
place varchar(255)
opinion varchar(255)
);

这是其中的数据:

id | place  | opinion
---+--------+--------
1 |Fiji |Good
2 |Fiji |Not good
3 |Canada |Good
4 |Canada |Good
5 |Canada |Good
6 |France |Good
7 |France |Not good
8 |Russia |Not good
9 |Laos |Good

我的查询应该返回如下内容:

place
-------
Canada

到目前为止,我很难过。我觉得我应该以某种方式使用计数比较评级列,但我在 SQL 方面还不是很有经验。有人可以帮忙吗?

最佳答案

这是 IF、SUM 和 GROUP BY 的工作。 ( https://www.db-fiddle.com/f/qJzieGghoAr1u98cRQ3mBU/0 )

SELECT place
FROM rating
GROUP BY place
HAVING SUM(IF(opinion = 'Good',1,-1)) > 0

表达式 IF(opinion = 'Good',1,-1) 根据评级列的文本给出 1 或 -1。将它们加起来可以得到整体商品减去坏处。将所有这些放在带有 > 0 过滤器的 HAVING 子句中,只会捕获具有净正“好”分数的那些。

仔细研究 IF、SUM、COUNT 和 GROUP BY 是值得的。它们是 SQL 中非常重要的部分。

关于mysql - 有没有办法输出具有更多实例的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56515294/

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