考虑需要创建日期的结果集.我们有开始和结束日期,我们想要生成两者之间的日期列表.
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功能,请标记为.
我需要一个MySQL表来保存2011-01-01和2011-12-31之间的所有日期.我创建了一个包含一个列名为"_date"的表,类型为DATE.
使用什么查询可以用所有期望的日期填充表格(而不必手动输入)?
我有一个用户数据库.我想基于用户群增长创建一个图表.我现在的查询是:
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)
零日期与其他日期按顺序显示?
谢谢!
我有一个表,其中一列为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)
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) 我构建了一个查询,让我返回一些应用程序的平均排名.
但对于他们中的一些人,有一个月,我们没有数据,因为该应用程序是一个新的(比方说,该应用程序从本月开始,所以我们从本月开始收集数据)
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查询的帮助.我有从2011年1月1日到2011年4月30日的数据的数据库表.应该有每个日期的记录.我需要找出表中是否缺少任何日期.
例如,假设2011年2月2日没有数据.我如何找到该日期?
我将日期存储在名为reportdatetime的列中.日期存储格式为:2011-05-10 0:00:00,即2011年5月5日上午12:00:00.
有什么建议?
有没有人有提示,如果我想从数组创建交叉表列,然后将更正信息插入交叉表?
例如,我的数据库中有一个如下表:
客户 1 ---- 01-01-2016 ---- A|
客户 1 ---- 01-03-2016 ---- B|
客户 2 ---- 01-01-2016 ---- A|
当用户在 1 月 16 日至 3 月 16 日期间要求报告时,报告应如下所示:
customer1 ---- 活动数:1 ---- 活动数:0 ---- 活动数:1
customer2 ---- 活动数:1 ---- 活动数:0 ---- 活动数:0
总计 ---- 活动总和:2 ---- 活动总和:0 ---- 活动计数:1
当前的问题是,由于没有2016年2月的数据,报告中缺少02-2016列。
有没有办法(如scriptlet)创建一个数组作为列,然后在activity_date == column_date时告诉JasperReport插入正确的数据?
我正在使用 Jaspersoft Studio。
mysql ×4
date ×3
sql ×2
database ×1
django ×1
django-1.8 ×1
django-orm ×1
populate ×1
postgresql ×1
range ×1
sql-server ×1
t-sql ×1