这个问题在这里已经有答案了:
多个查询同一个表但在不同的列中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
谢谢您!
暂无答案!
目前还没有任何答案,快来回答吧!