相关疑难解决方法(0)

生成在TSQL中递增日期的结果集

考虑需要创建日期的结果集.我们有开始和结束日期,我们想要生成两者之间的日期列表.

DECLARE  @Start datetime
         ,@End  datetime
DECLARE @AllDates table
        (@Date datetime)

SELECT @Start = 'Mar 1 2009', @End = 'Aug 1 2009'

--need to fill @AllDates. Trying to avoid looping. 
-- Surely if a better solution exists.
Run Code Online (Sandbox Code Playgroud)

考虑使用WHILE循环的当前实现:

DECLARE @dCounter datetime
SELECT @dCounter = @Start
WHILE @dCounter <= @End
BEGIN
 INSERT INTO @AllDates VALUES (@dCounter)
 SELECT @dCounter=@dCounter+1 
END
Run Code Online (Sandbox Code Playgroud)

问题:如何使用T-SQL创建一组在用户定义范围内的日期?假设SQL 2005+.如果您的答案是使用SQL 2008功能,请标记为.

sql t-sql database sql-server sql-server-2005

53
推荐指数
5
解决办法
5万
查看次数

如何使用一系列日期填充表格?

我需要一个MySQL表来保存2011-01-01和2011-12-31之间的所有日期.我创建了一个包含一个列名为"_date"的表,类型为DATE.

使用什么查询可以用所有期望的日期填充表格(而不必手动输入)?

mysql sql date range populate

36
推荐指数
5
解决办法
5万
查看次数

MySQL:即使没有记录,也选择范围内的所有日期

我有一个用户数据库.我想基于用户群增长创建一个图表.我现在的查询是:

SELECT DATE(datecreated), count(*) AS number FROM users 
WHERE DATE(datecreated) > '2009-06-21' AND DATE(datecreated) <= DATE(NOW())
GROUP BY DATE(datecreated) ORDER BY datecreated ASC
Run Code Online (Sandbox Code Playgroud)

几乎返回了我想要的东西.如果我们有一天获得0个用户,则该日期不会返回为0值,只会跳过该值,并且会返回至少有一个用户的第二天.我怎样才能得到类似的东西(伪造的反应):

date1 5
date2 8
date3 0
date4 0
date5 9
etc...
Run Code Online (Sandbox Code Playgroud)

零日期与其他日期按顺序显示?

谢谢!

mysql date gaps-and-islands

25
推荐指数
3
解决办法
3万
查看次数

Django + PostgreSQL:在一个范围内填充缺失的日期

我有一个表,其中一列为date. 每个日期可以有多个条目。

date         .....
-----------  -----
2015-07-20     ..
2015-07-20     ..
2015-07-23     ..
2015-07-24     ..
Run Code Online (Sandbox Code Playgroud)

我想使用 Django ORM 和 PostgreSQL 作为数据库后端以下列形式获取数据:

date         count(date)
-----------  -----------
2015-07-20        2
2015-07-21        0       (missing after aggregation)
2015-07-22        0       (missing after aggregation)
2015-07-23        1
2015-07-24        1
Run Code Online (Sandbox Code Playgroud)

对应的 PostgreSQL 查询:

WITH RECURSIVE date_view(start_date, end_date) 
AS ( VALUES ('2015-07-20'::date, '2015-07-24'::date) 
     UNION ALL SELECT start_date::date + 1, end_date 
     FROM date_view 
     WHERE start_date < end_date ) 
SELECT start_date, count(date) 
FROM date_view LEFT JOIN my_table ON date=start_date 
GROUP BY …
Run Code Online (Sandbox Code Playgroud)

django postgresql django-orm django-queryset django-1.8

7
推荐指数
1
解决办法
1422
查看次数

MySQL group by date,如果不存在则强制返回null值

我构建了一个查询,让我返回一些应用程序的平均排名.

但对于他们中的一些人,有一个月,我们没有数据,因为该应用程序是一个新的(比方说,该应用程序从本月开始,所以我们从本月开始收集数据)

SELECT 
    DATE_FORMAT(date, '%Y-%m'),
    app_id,
    AVG(rank)
FROM wadstats.applestore_ranking
where app_id IN (100,
        2,
        3,
        4,
        5,
        6)
GROUP BY MONTH(date), app_id
ORDER BY CASE WHEN app_id = 100 THEN 1 ELSE 2 END, date ASC
Run Code Online (Sandbox Code Playgroud)

我需要首先显示app_id = 100

但是对于app_id = 8,我没有例证8月的数据.

然后结果看起来像

'2015-07', '100', '3.9355'
'2015-04', '100', '49.5000'
'2015-08', '100', '5.2258'
'2015-05', '100', '16.3333'
'2015-09', '100', '6.1333'
'2015-06', '100', '7.5667'
'2015-10', '100', '5.7727'
'2015-04', '2', '6.0000'
'2015-08', '2', '9.8710'
'2015-05', '2', '6.4667'
'2015-09', '2', '8.9667'
'2015-06', '2', '8.5333'
'2015-10', …
Run Code Online (Sandbox Code Playgroud)

mysql

5
推荐指数
1
解决办法
1396
查看次数

MySQL:查找日期范围之间的缺失日期

我需要一些mysql查询的帮助.我有从2011年1月1日到2011年4月30日的数据的数据库表.应该有每个日期的记录.我需要找出表中是否缺少任何日期.

例如,假设2011年2月2日没有数据.我如何找到该日期?

我将日期存储在名为reportdatetime的列中.日期存储格式为:2011-05-10 0:00:00,即2011年5月5日上午12:00:00.

有什么建议?

mysql date gaps-and-islands

3
推荐指数
2
解决办法
1万
查看次数

即使数据不存在,如何在交叉表中显示列

有没有人有提示,如果我想从数组创建交叉表列,然后将更正信息插入交叉表?

例如,我的数据库中有一个如下表:

客户----活动日期----活动|

客户 1 ---- 01-01-2016 ---- A|

客户 1 ---- 01-03-2016 ---- B|

客户 2 ---- 01-01-2016 ---- A|

当用户在 1 月 16 日至 3 月 16 日期间要求报告时,报告应如下所示:

客户---- 01-2016 ---- 02-2016 ---- 03-2016 |

customer1 ---- 活动数:1 ---- 活动数:0 ---- 活动数:1

customer2 ---- 活动数:1 ---- 活动数:0 ---- 活动数:0

总计 ---- 活动总和:2 ---- 活动总和:0 ---- 活动计数:1

当前的问题是,由于没有2016年2月的数据,报告中缺少02-2016列。

有没有办法(如scriptlet)创建一个数组作为列,然后在activity_date == column_date时告诉JasperReport插入正确的数据?

我正在使用 Jaspersoft Studio。

jasper-reports

2
推荐指数
1
解决办法
4651
查看次数