我有以下数据库
id item_id date system_code value
# 1 0001 01-01-2019 0999 10
# 2 0001 02-01-2019 0888 15
# 3 0001 01-01-2019 0999 10
# 4 0002 02-01-2019 0777 20
# 5 0002 03-01-2019 0777 35
我想要得到的结果是这样的,系统代码列的值是“value”的和
item_id date 0999 0888 0777
0001 01-01-2019 20
0001 02-01-2019 15
0002 02-01-2019 20
0002 03-01-2019 35
我的问题是系统代码有超过1000个不同的值,所以我不能手动键入它们。数据库有近十亿个条目,所以任何能够快速计算的东西都是完美的。
2条答案
按热度按时间yr9zkbsy1#
以防万一,这里有一个动态轴
例子
退货
注:
我相信最大列数是1024(宽表30000)。
就我个人而言,我不想消耗超过50列。
编辑:
如果有两个或多个列,可以通过在第一个查询中添加where来过滤列表,并可能运行两次(或更多)。结果的行数相同,只是列集不同。
例子
9lowa7mx2#
可以使用条件聚合:
你可以生成这个
max()
使用查询的表达式: