从一个表中提取数据有问题。
假设我有一张这样的table:
带有列的tu stat:statid、userid、country、installerid、date。
以值为例:
1, 1, Belgium, 1, 2014-04-06 18:19:03 ||
2, 2, Germany, 2, 2013-05-07 18:19:03 ||
3, 3, Italy, 3, 2018-06-08 18:19:03
因此,我需要的是:我需要挑选每一个不同的国家,并计算它在每个日期的安装量。应该是这样的:9排
2014-04-06 18:19:03 Belgium 1
2014-04-06 18:19:03 Germany 0
2014-04-06 18:19:03 Italy 0
2013-05-07 18:19:03 Belgium 0
2013-05-07 18:19:03 Germany 1
2013-05-07 18:19:03 Italy 0
2018-06-08 18:19:03 Belgium 0
2018-06-08 18:19:03 Germany 0
2018-06-08 18:19:03 Italy 1
有办法解决吗?
1条答案
按热度按时间sbtkgmzw1#
如果您不需要具有零值的行,那么这很简单。
但你确实需要它们。所以:
首先,您需要将(非规范化的)原始数据拆分为三个虚拟表以供参考。
这个虚拟的table给你你的国家。
这是你的约会。
这将为您提供在每个国家的每个日期的操作计数。
然后需要将这三个虚拟表连接在一起。使用
LEFT JOIN
对于最后一个,这样零值就不会被抑制。并且,使用IFNULL
显示零而不是空。下面是一个例子。https://www.db-fiddle.com/f/vab5mvjepwn2yflj28kgxa/0