两个不同列中日期之间的 SQL COUNT
Posted
技术标签:
【中文标题】两个不同列中日期之间的 SQL COUNT【英文标题】:SQL COUNT between dates in two different column 【发布时间】:2013-05-05 11:56:43 【问题描述】:假设我们有这张表:
STUDENT | START | END
1 |1998-1-1 |2001-1-1
2 |1999-1-1 |2001-1-1
3 |2000-1-1 |2004-1-1
4 |2000-1-1 | NULL
我想做的是:
计算开始日期和结束日期之间的学生人数!
【问题讨论】:
“日期之间”是什么意思?您的意思是给定日期在开始和结束之间,还是给定日期范围“重叠”开始和结束?还是别的什么? 我想要计算在日期之间开始的学生和在日期之间结束学习的学生的 sql。 【参考方案1】:看来您需要使用基本的COUNT
聚合:
SELECT COUNT(Student)
FROM YourTable
WHERE Start >= @Start
AND End <= @End
我在开始和结束日期字段周围分别使用了 >= 和 或
【讨论】:
【参考方案2】:使用 between Operator 和 COUNT 聚合函数
SELECT COUNT(student) column_name(s)
FROM table_name
WHERE column_name
BETWEEN value1 AND value2
Between 可以与文本一起使用,因此在值所在的位置插入日期,
如果您仍然不明白,请在此处阅读更多内容
编辑:应该可以,对错误感到抱歉
http://www.w3schools.com/sql/sql_between.asp
【讨论】:
OP 想要的是Count number of students between start and end dates
。您的答案只是返回一组行。以上是关于两个不同列中日期之间的 SQL COUNT的主要内容,如果未能解决你的问题,请参考以下文章