0

假设我们有这张表:

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

我想做的是:

计算开始日期和结束日期之间的学生人数!

4

2 回答 2

1

使用 between Operator 和 COUNT 聚合函数

SELECT COUNT(student) column_name(s)
FROM table_name
WHERE column_name
BETWEEN value1 AND value2

之间可以与文本一起使用,因此在值所在的位置插入日期,

如果您仍然不明白,请在此处阅读更多内容

编辑:应该可以,对错误感到抱歉

http://www.w3schools.com/sql/sql_between.asp

于 2013-05-05T12:07:05.357 回答
1

看起来您需要使用基本COUNT聚合:

SELECT COUNT(Student)
FROM YourTable
WHERE Start >= @Start 
    AND End <= @End

我在开始和结束日期字段周围分别使用了 >= 和 <=。根据需要随意更改为 > 或 <。从您的问题中不清楚您是要在特定字段之间还是要检查这两个字段之间的范围。

于 2013-05-05T12:11:30.917 回答