gpt4 book ai didi

mysql - 特定条件匹配后分组

转载 作者:太空宇宙 更新时间:2023-11-03 11:52:08 24 4
gpt4 key购买 nike

考虑下面我的表 transactions

+----+---------+-------+--------+
| id | user_id | value | tag |
+----+---------+-------+--------+
| 1 | 1 | 30 | '' |
| 2 | 1 | 20 | 'foo' |
| 3 | 1 | -10 | '' |
| 4 | 2 | 60 | '' |
| 5 | 2 | 30 | 'foo' |
| 6 | 2 | -25 | '' |
+----+---------+-------+--------+

我想按 user_id 分组,以获得 sum(value),对于标签匹配“foo”之后的行(其中 id 的行大于匹配的行)

比如上面的表格,我想得到下面的

+---------+-------+
| user_id | value |
+---------+-------+
| 1 | 10 |
| 2 | 5 |
+---------+-------+

最佳答案

您可以使用自连接:

SELECT t1.user_id, SUM(t2.`value`) AS `value`
FROM transactions t1
JOIN transactions t2
ON t1.user_id = t2.user_id
AND t1.id <= t2.id
WHERE t1.tag = 'foo'
GROUP BY t1.user_id;

LiveDemo

输出:

╔═════════╦═══════╗
║ user_id ║ value ║
╠═════════╬═══════╣
║ 1 ║ 10 ║
║ 2 ║ 5 ║
╚═════════╩═══════╝

关于mysql - 特定条件匹配后分组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34991622/

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