![]() |
1
3
坦白地说,在构建最终输出时,我会以编程的方式完成这项工作。实际上,您试图从数据库中读取不存在的数据(没有数据的天数的数据)。SQL并不是真的适用于这类事情。 如果你真的想这样做,那么“日期”表似乎是你最好的选择。为了使它更好,您可以使用数据库的日期函数和派生表动态生成它。 |
![]() |
2
2
最近我不得不做同样的事情。我在T-SQL中就是这样做的( YMMV的速度很快,但我发现它的性能足以覆盖数百万行事件数据):
|
![]() |
3
1
创建一个内存表(一个表变量),在其中插入日期范围,然后根据它加入logins表。按开始日期分组,然后可以执行聚合和计算。 |
![]() |
4
1
我通常使用的策略是与查询的对立面联合,通常是一个为不存在的行检索数据的查询。
您的查询将更加复杂,但同样的原则也应适用。对于第二个查询,您可能确实需要一个日期表 |
![]() |
5
1
选择1 您可以创建一个临时表,插入具有范围的日期,并使用usagelog进行左外部联接 在计算结果集以生成最终输出时,可以通过编程方式插入缺少的日期 |
![]() |
6
0
如果你需要更多
|
![]() |
Community wiki · SQL语法新手 1 年前 |
|
KateMak · 是否将多行中的多列与唯一id组合? 1 年前 |
![]() |
Karuna · SQL中列内的筛选器[重复] 1 年前 |
![]() |
Irvan Affandy · 为另一个选择选择声明的键 1 年前 |
![]() |
Community wiki · 这个MySQL语句出了什么问题? 1 年前 |
![]() |
Community wiki · 优化从同一表中提取的多列的查询 1 年前 |