通过此查询,我可以获取上周创建的所有条目:
SELECT day, COALESCE(ct, 0) AS ct
FROM (SELECT now::date - d AS day FROM generate_series (0, 6) d) d -- 6, not 7
LEFT JOIN (
SELECT created_at::date AS day, count(*) AS ct
FROM entries
WHERE created_at >= date_trunc('day', now()) - interval '6d'
GROUP BY 1
) e USING (day);
它返回这样的结果:
count | date
2 | 15.01.2014
0 | 14.01.2014
1 | 13.01.2014
0 | 12.01.2014
0 | 11.01.2014
0 | 10.01.2014
9 | 09.01.2014
现在,我还想显示上周所有已删除的条目!我可以通过实地了解他们deleted_at
:我尝试过的是:
SELECT day, COALESCE(ct, 0) AS created, COALESCE(dl,0) AS deleted
FROM (SELECT current_date - d AS day FROM generate_series (0, 6) d) d
LEFT JOIN (
SELECT created_at::date AS day,
count(
CASE WHEN (created_at >= date_trunc('day', now()) - interval '6d') THEN 1 ELSE 0 END
) AS ct,
count(
CASE WHEN (canceled_at >= date_trunc('day', now()) - interval '6d') THEN 1 ELSE 0 END
) AS dl
FROM entries
GROUP BY 1
) e USING (day);
但这没有用!现在,我得到两个相同的行:
deleted | created | date
2 | 2 | 15.01.2014
0 | 0 | 14.01.2014
1 | 1 | 13.01.2014
0 | 0 | 12.01.2014
0 | 0 | 11.01.2014
0 | 0 | 10.01.2014
9 | 9 | 09.01.2014
我怎么了 如何显示已创建和已删除的条目?
由于两个时间戳在时间范围内可以存在0-n次并且彼此独立,因此您必须做更多的事情:
需要Postgres 9.3+ :
WITH var(ts_min) AS (SELECT date_trunc('day', now()) - interval '6 days')
SELECT day
, COALESCE(c.created, 0) AS created
, COALESCE(d.deleted, 0) AS deleted
FROM var v
CROSS JOIN LATERAL (
SELECT d::date AS day
FROM generate_series (v.ts_min
, v.ts_min + interval '6 days'
, interval '1 day') d
) t
LEFT JOIN (
SELECT created_at::date AS day, count(*) AS created
FROM entries
WHERE created_at >= (SELECT ts_min FROM var)
GROUP BY 1
) c USING (day)
LEFT JOIN (
SELECT canceled_at::date AS day, count(*) AS deleted
FROM entries
WHERE canceled_at >= (SELECT ts_min FROM var)
GROUP BY 1
) d USING (day)
ORDER BY 1;
CTEvar
仅是为了方便地提供一次启动时间戳。
问题内容: 假设我有一个这样的搜索查询: 如您所知,例如,我得到这样的结果: 但是我 没有 得到一周中没有创建任何条目的日子。 如何获得看起来像这样的搜索结果, 包括 没有创建条目的日子? 问题答案: SELECT day, COALESCE(ct, 0) AS ct FROM (SELECT now()::date - d AS day FROM generate_series (0, 6) d
本文向大家介绍MongoDB的创建、更新和删除,包括了MongoDB的创建、更新和删除的使用技巧和注意事项,需要的朋友参考一下 概要 下面开始学习MongoDB最重要也是最基础的部分:C(创建)R(查询)U(更新)D(删除);由于R(查询)操作相对来说内容比较多,也比较繁琐, 同时使用频率也比较高,所以下一篇会拿出来单独介绍。废话不多说,连上服务器,我们直接进入正题! 一、创建 按照我
本文向大家介绍python创建和删除目录的方法,包括了python创建和删除目录的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了python创建和删除目录的方法。分享给大家供大家参考。具体分析如下: 下面的代码可以先创建一个目录,然后调用自定义的deleteDir函数删除整个目录 希望本文所述对大家的Python程序设计有所帮助。
英文原文:http://emberjs.com/guides/models/creating-and-deleting-records/ 通过调用仓库的createRecord方法,可以创建记录: 1 2 3 4 store.createRecord('post', { title: 'Rails is Omakase', body: 'Lorem ipsum' }); 仓库对象在控制
在7.1节中介绍过,Entry的getDirectory和getFile方法可以获取和创建子目录和文件,在本节将主要讲解创建目录和文件。同时也会介绍删除目录和文件的方法。 在调用getDirectory方法时,如果在参数对象中指定create属性为true,则会创建相应的子目录,如: chrome.fileSystem.chooseEntry({type: 'openDirectory'}, fu
29.3.3 创建和删除JPA数据库 默认情况下,仅当您使用内置数据库(H2、HSQL或Derby)时才会自动创建JPA数据库。您可以使用spring.jpa.*属性显式地配置JPA。例如,要创建和删除表,您可以将以下内容添加到application.properties中。 spring.jpa.hibernate.ddl-auto=create-drop Hibernate本身用于自动创建和