【问题标题】:C# SQL Date RangeC# SQL 日期范围
【发布时间】:2020-04-29 20:59:10
【问题描述】:

我正在为我的 MVC Web 应用程序使用 sql 选择查询。我本地数据库中有一个日期时间字段,我想查询所有在第一学期或第二学期创建约会的客户。

类似这样的:

选择计数(直到 '01/06/2020' 之前的所有约会)作为 FirstSemester,
将(从 '01/06/2020' 到 '31/12/2020' 的所有约会)计为 SecondSemester

PS:我想统计两个数据,因为我将使用这些值创建一个图表来说明系统演变(第一学期与第二学期有多少客户)。

这种查询存在吗?如果答案是肯定的,它会是什么样子?

非常感谢!

【问题讨论】:

标签: c# .net sql-server datetime


【解决方案1】:

您通常会使用条件聚合:

select
    sum(case when mydate < date '2020-07-01' then 1 else 0 end) first_semester,
    sum(case when mydate >= date '2020-01-07' then 1 else 0 end) second_semester
from mytable
where mydate >= date '2020-01-01' and mydate < date '2021-01-01'

日期文字的实际语法可能因数据库而异。上述查询使用标准 ANSI SQL 语法。

旁注:我假设第二学期从 7 月而不是 6 月开始。

【讨论】:

    猜你喜欢
    • 2020-09-30
    • 1970-01-01
    • 2016-10-25
    • 2017-12-20
    • 2018-09-02
    • 2017-04-27
    • 2011-01-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多