SQL查询以基于日期创建字段

data_analyst

我有一个数据集,其中id依次经过阶段A到D(A到B,B到C和C到D)。

我有一个时间戳,用于跟踪ID何时进入特定阶段。这是我的数据

在此处输入图片说明

因此,我有兴趣创建一个名为“状态”字段,该字段显示根据A的时间戳转换的B,C,D的数量

例如;

19年8月月的'A's = 7

A的时间戳是19年8月(与Date_B下的日期无关)= 5时转换“ B”

A的时间戳为19年8月(与Date_C下的日期无关)= 5时转换“ C”

A的时间戳为19年8月(与Date_D下的日期无关)= 5时转换“ D”

我尝试使用union all,但是它实时显示了“状态”,这意味着ID 1下的“ date_B”获得的日期为9月19日,而不是19年8月。

SELECT id,
CAST (Date_A AS DATE) AS 'Pivot Date',
'A' AS 'Status'
FROM table1

UNION ALL

SELECT id,
CAST (Date_B AS DATE) AS 'Pivot Date',
'B' AS 'Status'
FROM table1

UNION ALL

SELECT id,
CAST (Date_C AS DATE) AS 'Pivot Date',
'C' AS 'Status'
FROM table1

UNION ALL

SELECT id,
CAST (Date_D AS DATE) AS 'Pivot Date',
'D' AS 'Status'
FROM table1

有人可以指出我正确的方向吗?

谢谢!

伊斯林格

我不确定这是否是您想要的,但是请尝试以下操作:

SELECT
    *, -- or only id or whatever
    COUNT(date_a) OVER (PARTITION BY date_trunc('month', date_a)) AS a_of_the_month,
    COUNT(date_b) OVER (PARTITION BY date_trunc('month', date_a)) AS already_converted_to_b,
    COUNT(date_c) OVER (PARTITION BY date_trunc('month', date_a)) AS already_converted_to_c,
    COUNT(date_d) OVER (PARTITION BY date_trunc('month', date_a)) AS already_converted_to_d
FROM table1;

也许您只想要月份和数字:

SELECT
    date_trunc('month', date_a),
    COUNT(date_a) AS a_of_the_month,
    COUNT(date_b) AS already_converted_to_b,
    COUNT(date_c) AS already_converted_to_c,
    COUNT(date_d) AS already_converted_to_d
FROM table1
GROUP BY date_trunc('month', date_a);

在这两种情况下COUNT(date_a)COUNT(*)如果date_a必须始终设置if,也可以用替换

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

基于日期和日期的SQL查询

来自分类Dev

如何基于日期自动运行SQL查询?

来自分类Dev

SQl查询以基于日期差异获取表

来自分类Dev

SQL查询,返回基于行数的日期条目

来自分类Dev

查询以获取基于列创建日期的日期的总和?

来自分类Dev

Oracle Sql基于字段“创建”记录

来自分类Dev

基于前行 Oracle SQL 创建计算字段

来自分类Dev

VBA-创建基于条件的SQL查询

来自分类Dev

SQL查询-日期时间的平均时间字段

来自分类Dev

排序ID,SQL查询中的日期字段

来自分类Dev

SQL查询以基于月结束日期生成月薪日期

来自分类Dev

SQL查询,按日期创建组

来自分类Dev

SQL查询以基于当前日期获取数据

来自分类Dev

SQL Union作为子查询以从开始日期创建日期范围

来自分类Dev

基于现有表字段创建 SQL 语句

来自分类Dev

mongodb查询日期字段

来自分类Dev

在PHP中基于两列SQL查询创建摘要表

来自分类Dev

熊猫read_sql。如何查询日期字段的where子句

来自分类Dev

如何在日期字段上优化SQL查询

来自分类Dev

从子查询Oracle SQL返回的值更新日期字段

来自分类Dev

SQL查询以检索两个日期之间的字段列表

来自分类Dev

如何查询日期范围之间的日期时间字段,以及 SQL 中时间之间的日期

来自分类Dev

如何在rails4 / activerecord中基于父模型中的日期字段排序查询结果?

来自分类Dev

SQL:基于字段生成字段

来自分类Dev

基于日期的查询MongoDB集合

来自分类Dev

Mongo 4.2查询基于日期

来自分类Dev

基于日期的平均访问查询

来自分类Dev

MongoDB查询基于日期的文档

来自分类Dev

SQL查询创建一个计算字段