gpt4 book ai didi

SQL - 显示按时间范围分组的约会的运行计数

转载 作者:行者123 更新时间:2023-12-04 21:52:24 24 4
gpt4 key购买 nike

我有一张 table

tbl约会{
应用 ID,
应用日期,
用户身份 }

我目前有一个声明,返回按年和月分组的约会数量

    SELECT
YEAR(App_Date) AS Year,
MONTH(App_Date) AS Month,
count(*) AS "No of Appointments"
FROM
tblapplication
GROUP BY
YEAR(App_Date),
MONTH(App_Date)

我不知道如何编写一个选择语句来返回带有标题 {time frame, No of applications},然后有数据的
  • 第 1 行:到目前为止,时间范围 = 周,没有应用程序 = x。
  • 第 2 行:时间范围 = 到目前为止的月份,没有应用程序 = y。
  • ro3 3:时间范围 = 到目前为止,没有应用程序 - z。

  • 我想知道 1. 当周,2. 当月有多少约会。 3.当前年份,并将每个结果放在自己的行中。

    任何在正确方向上的帮助将不胜感激。实际问题远不止于此,但相信我现在已经将其简化为问题的症结所在。

    最佳答案

    如果您对一行的结果感到满意,则相对容易:

    select  count(case when datepart(wk, App_Date) = datepart(wk, getdate()) 
    then 1 end) as WeekSofFar
    , count(case when datepart(m, App_Date) = datepart(m, getdate())
    then 1 end) as MonthSofFar
    , count(*) as YearSoFar
    from tblApplications
    where datepart(y, App_Date) = datepart(y, getdate())

    如果单独的行是必须的,请尝试以下操作:
    select  'WeekSoFar' as Period
    , (
    select count(*)
    from tblApplications
    where datepart(y, App_Date) = datepart(y, getdate())
    and datepart(wk, App_Date) = datepart(wk, getdate())
    ) as NumberOfApps
    union all
    select 'MonthSoFar'
    , (
    select count(*)
    from tblApplications
    where datepart(y, App_Date) = datepart(y, getdate())
    and datepart(m, App_Date) = datepart(m, getdate())
    )
    union all
    select 'YearSoFar'
    , (
    select count(*)
    from tblApplications
    where datepart(y, App_Date) = datepart(y, getdate())
    )

    关于SQL - 显示按时间范围分组的约会的运行计数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9152490/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com