我有事件流入 MySQL 数据库,我需要将事件分组和汇总到事务中并存储到另一个表中。数据如下:
+----+---------+------+-------+
| id | transid | code | value |
+----+---------+------+-------+
| 1 | 1 | b | 12 |
| 2 | 1 | i | 23 |
| 3 | 2 | b | 34 |
| 4 | 1 | e | 45 |
| 5 | 3 | b | 56 |
| 6 | 2 | i | 67 |
| 7 | 2 | e | 78 |
| 8 | 3 | i | 89 |
| 9 | 3 | i | 90 |
+----+---------+------+-------+
事件分批到达,我想通过汇总每个 transid 的值来创建事务,例如:
select transid, sum(value) from eventtable group by transid;
但只有在那个transid的所有事件都已经到来之后。这是由代码为 e 的事件决定的(b 表示开始,e 表示结束,i 表示不同数量的中间体)。作为 SQL 的新手,如何在求和之前实现结束代码存在的要求?