gpt4 book ai didi

mysql - SQL 对每个 userID 记录计算一个值,但 userId 的一个记录值为 x 的情况除外

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

我被困住了,我现在知道如何提出我的问题,所以我用我想要的结果创建了一个假设场景。

我正在尝试创建一个查询,计算每个用户 ID 的水果数量,但记录水果为香蕉的用户 ID 除外。

+----------+--------+--------------+
| recordID | userId | Fruit |
+----------+--------+--------------+
| 0 | 112 | Apple |
| 1 | 112 | Banana |
| 2 | 112 | kiwi |
| - | - | - |
| 3 | 113 | Banana |
| 4 | 113 | Pear |
| - | - | - |
| 5 | 114 | Dragon fruit |
| 6 | 114 | Pineapple |
| - | - | - |
| 7 | 115 | Dragon Fruit |
| 8 | 115 | Cherry |
+----------+--------+--------------+

想要的结果:

+-------+-------------+--+
| count | fruit | |
+-------+-------------+--+
| 2 | dragonfruit | |
| 1 | pineapple | |
| 1 | cherry | |
+-------+-------------+--+

忽略 UserId 113 的用户,因为它有一条值为 Banana 的水果记录。

最佳答案

你只需要一个过滤子句:

select fruit, count(*)
from t
where not exists (select 1
from t t2
where t2.userid = t.userid and t2.fruit = 'banana'
)
group by fruit
order by count(*) desc;

关于mysql - SQL 对每个 userID 记录计算一个值,但 userId 的一个记录值为 x 的情况除外,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52554012/

25 4 0
文章推荐: 线程 "main"java.lang.NullPointerException 七人骰子游戏中的 JAVA 异常
文章推荐: java - 如何告诉 IntelliJ 在构建 war 文件时为 Maven 使用文件夹 "web"而不是 "webapp"?
文章推荐: java - 根据 Object 中的 int 值将 ArrayList 拆分为多个