当前位置: 首页 > 面试题库 >

两个不同列中的日期之间的SQL COUNT

林炫明
2023-03-14
问题内容

比方说,我们有这个表:

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

我想做的是:

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


问题答案:

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

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

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



 类似资料:
  • 问题内容: 使用标准的mysql函数可以编写查询,该查询将返回两个日期之间的天数列表。 例如,给定2009-01-01和2009-01-13,它将返回一个具有以下值的列表: 编辑:看来我还不清楚。我要生成此列表。我在数据库中存储了值(按日期时间),但希望将它们在左外部联接中汇总到上述日期列表中(我希望这种联接的某些右侧在几天内会为null并将对此进行处理) )。 问题答案: 我将使用此存储过程将所

  • 我试图在两天之间创建一个天数列表。 我创建了如下解决方案: 但它只在90%的情况下有效(如果有月变化,它就不起作用) 例如,当我选择日期时: 从8月29日到9月30日,从8月31日,它给我打印了几天 有没有办法解决我的问题,或者有更好的办法? 编辑: 我的问题和建议的问题不同,因为在我的问题中,我有两个日期作为输入 例如 在建议的重复结果,这可能是int号 我的问题是如何循环两个日期之间的所有日期

  • 问题内容: 我有两个这样的表: 表格1 表2 我想从 Table1中 选择并插入 Table2中 。 例如: 在表1中,我有这个 在表2中,我想要这个 带有样本数据的表结构 问题答案: 感谢您的架构。它使处理您的问题变得容易。我对您的架构进行了一些更改以利用auto_increment 在这里,我在emp_leave_daywise表上添加了唯一约束,因为id整数上的主键不能确保记录不重复。 em

  • 问题内容: 在我的应用程序中,用户应从选择日期。问题是生成此列​​表。例如,我需要 2010年至2013年 或 6月至8月 之间的所有日期(期间可能是 day , month , year )。是否有任何方法可以获取该数据? 范例:我需要 2013年1月1* 日 至2013年1月1 日之间的日期 * 2013年1月1日 2013年2月1日 2013年3月1日 2013年4月1日 2013年5月1日

  • 问题内容: 我需要一个查询,该查询将输出两个给定日期之间的日期列表。 例如,如果我的开始日期是2016年2月23日,结束日期是2016年2月3日,我期望获得以下输出: 另外,我只需要使用SQL进行上述操作(不使用“ WITH”语句或表)。请帮忙。 问题答案: 我使用的通常是DB2 for iSeries,所以我将为您提供一个仅适用于它的SQL解决方案。目前,我无法访问服务器,因此该查询未经测试,但

  • 问题内容: 我从Stackoverflow那里获得了这段代码,并对其进行了少许更改以适应今天的日期。 我想检查今天是否适合两个日期之间。但这是行不通的。我想念什么? 问题答案: 编辑: 使用<=或> =来计算今天的日期 这是您的代码的正确答案。只需使用strtotime()php函数