如何对共享相同值的行组中某些值的出现次数进行求和和计数

ovfsdjhp  于 2021-06-15  发布在  Mysql
关注(0)|答案(0)|浏览(198)

这个问题在这里已经有答案了

多个查询同一个表但在不同的列中mysql(4个答案)
需要返回两组带有两个不同where子句的数据(2个答案)
使用groupby中的limit来获得每组n个结果(13个答案)
两年前关门了。
我有以下数据:

process_date    phrase    code    value
------------    ------    ----    -----
2018-12-21      ball      A       5
2018-12-21      ball      B       10
2018-12-21      ball      C       5
2018-12-20      ball      A       5
2018-12-20      ball      B       15
2018-12-19      ball      A       20
2018-12-19      ball      C       5
2018-12-18      ball      A       5
2018-12-18      ball      B       20
2018-12-17      ball      A       15
2018-12-17      ball      B       10
2018-12-17      ball      C       5

2018-12-21      car       A       15
2018-12-21      car       C       5
2018-12-20      car       A       5
2018-12-20      car       A       20
2018-12-20      car       C       10
2018-12-19      car       A       5
2018-12-18      car       A       10
2018-12-18      car       B       15
2018-12-17      car       A       20
2018-12-17      car       B       5

2018-12-21      bicycle   A       10
2018-12-21      bicycle   B       15
2018-12-20      bicycle   A       5
2018-12-18      bicycle   A       15
2018-12-18      bicycle   B       10
2018-12-17      bicycle   C       10

信息:
每天都会有更多的日期追溯到过去,但为了简单起见,我只包含了5天的数据和3个短语
永远不会有一行具有相同的日期、短语和代码(唯一键)
请求:
我需要创建一个查询,返回满足以下条件的短语组的计数和总和:
计算中仅包括本表中有数据的3个最新日期(在示例2018-12-21、2018-12-20和2018-12-19中)
只有在其中两个日期中至少有一行值为“a”,并且在其中一个日期中至少有一行代码为“b”的短语(因此“car”不满足此条件,因为即使在最后3个日期中的2个日期中有“a”,但在最后3个日期中没有任何一个日期中有值为“b”的行)
重要提示:请注意,在该示例中,2018-12-19中没有“bicycle”的行,但这不应避免该短语满足条件
查询的预期返回:

phrase      A_count    A_sum    B_count    B_sum    C_count    C_sum
-------     -------    -----    -------    -----    -------    -----            
ball        3          30       2          25       2          10
bicycle     2          15       1          15       0          0

谢谢您!

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题