如何计算某天的行数

Posted

技术标签:

【中文标题】如何计算某天的行数【英文标题】:How to count the numbers of rows within a certain days 【发布时间】:2018-03-02 03:46:22 【问题描述】:

我想执行一个查询,按商店计算在 open_date 的 60 天内关闭日期的行数。

示例:表 A

Store  Open Date  Close Date
A      2017-01-01   2017-01-31
B      2017-02-02   Null
A      2017-01-02   2018-01-21

提前致谢。

【问题讨论】:

你的主键是什么? 您使用的是哪个数据库——mysql 还是 Amazon Redshift?它们每个的语法都不同。 亚马逊红移 【参考方案1】:

使用 datediff()

SELECT count(*) FROM [Table A] WHERE datediff(Close_date,Open_date) <= 60;

【讨论】:

【参考方案2】:

尝试以下查询:

SELECT count(*) numberOfDays
FROM TableA
WHERE close_date>=CURRENT_DATE - INTERVAL 60 DAY;

SELECT count(*) numberOfDays
FROM TableA
WHERE close_date>=CURRENT_DATE - INTERVAL '60' DAY;

看work on SQL Fiddle。

【讨论】:

我的操作无效:在“60”或附近出现语法错误; 尝试其中一个,除了它们都在 sql fiddle 上运行顺利。点击链接查看演示。 你做了什么?我的答案是正确的,所以投票吧!【参考方案3】:
select store, open_date, count(*)
from tableA
where close_date between date_sub(open_date, interval 60 DAY) and date_add(open_date, interval 60 DAY)
group by store, open_date;

这会起作用,但您的开始日期必须是当前日期或 open_date(这是您的问题)。鉴于每一行的 open_date 似乎不同,您的计数将是……有趣。

另外,count 总是会返回一些东西,所以除非你使用 if 或 case 语句键入 0(零),否则它将返回 0 而不是 null。

【讨论】:

以上是关于如何计算某天的行数的主要内容,如果未能解决你的问题,请参考以下文章

如何精确计算文本所占的行数

如何使用opencv准确计算图像中的行数

如何计算 MySqlDataReader 中的行数?

如何有效地计算数据帧的行数? [复制]

如何计算 Git 中两次提交之间更改的行数?

如何加快计算 PostgreSQL 表中的行数?