我正在从一个mysql表构建一个快速的csv,其查询如下:
select DATE(date),count(date) from table group by DATE(date) order by date asc;
Run Code Online (Sandbox Code Playgroud)
并通过以下方式将它们转储到perl中的文件:
while(my($date,$sum) = $sth->fetchrow) {
print CSV "$date,$sum\n"
}
Run Code Online (Sandbox Code Playgroud)
但是数据中存在日期差距:
| 2008-08-05 | 4 |
| 2008-08-07 | 23 |
Run Code Online (Sandbox Code Playgroud)
我想填充数据以填写零计数条目的缺失日期,最终得到:
| 2008-08-05 | 4 |
| 2008-08-06 | 0 |
| 2008-08-07 | 23 |
Run Code Online (Sandbox Code Playgroud)
我把一个非常笨拙(几乎肯定是错误的)的解决方法打包在一起,每个月都有一些日数和一些数学,但是在mysql或perl方面必须有更直接的东西.
面对为什么我这么愚蠢的任何天才想法/拍打?
我最终使用了一个存储过程,该过程为所讨论的日期范围生成临时表,原因如下:
perl Date/DateTime迭代答案也非常好,我希望我能选择多个答案!
我知道一些基本的sql,但这个超出了我.我看起来高低但没有骰子.我需要查看以下数据,我可以在应用程序层代码中执行此操作.但不幸的是,对于这个特定的代码,代码必须放在数据层中.
我正在使用T-SQL.
表
Date Crew DayType
01-02-11 John Doe SEA
02-02-11 John Doe SEA
03-02-11 John Doe SEA
04-02-11 John Doe HOME
05-02-11 John Doe HOME
06-02-11 John Doe SEA
Run Code Online (Sandbox Code Playgroud)
我需要这样的观点
DateFrom DateTo Name DayType
01-02-11 03-02-11 John Doe SEA
04-02-11 05-02-11 John Doe HOME
06-02-11 06-02-11 John Doe SEA
Run Code Online (Sandbox Code Playgroud)
不幸的是,应用层需要基表格格式为show.这可以在查询中做到吗?
谢谢
卢克
我有一个带有一些外键的表,我需要得到这些键何时更改的报告.
from | to | timestamp 1 | 2 | 0000 1 | 2 | 0001 1 | 2 | 0002 1 | 3 | 0003 1 | 3 | 0004 1 | 2 | 0005
SELECT from,to,FIRST(timestamp)FROM FROM GROUP BY from,to;
from | to | timestamp 1 | 2 | 0000 1 | 3 | 0003
我可以通过Group By来获得前两个转换,但它将第三个转换为第一个并且当它返回时我无法看到它.
我想进行以下查询:
from | to | timestamp 1 | 2 | 0000 1 | 3 | 0003 1 | 2 | 0005 …