如何在sql server中获取本周的每日数据
Posted
技术标签:
【中文标题】如何在sql server中获取本周的每日数据【英文标题】:how to get day wise data of this week in sql server 【发布时间】:2018-09-18 08:13:46 【问题描述】:我有包含用户数据的数据条目表(ServiceData)。列是 Userid、BillDate(类型 DateTime)等。 我需要每周(当前周)获取用户数。
查询
select BillDate
,DATENAME(dw,BillDate) as day
,count(BillDate) as total
from ServiceData
group by
BillDate,DATENAME(dw,BillDate)
order by BillDate desc
这只是获取账单日期的日期,但我想获取周日进入的计数,周一进入的计数......从周日到周六(当前周)这可能吗?
预期输出
ID | TOTAL | DAY
--------------------------
1 | 23 | Sun
2 | 54 | Mon
3 | 17 | Tues
4 | 56 | Thus
5 | 45 | Fri
6 | 78 | Sat
【问题讨论】:
您只向我们展示了预期的输出。样本输入怎么样? 欢迎来到 ***!您能否请edit您的问题并添加更多信息。您能否向我们提供一些表ServiceData
的样本数据。也请告诉我们您自己已经尝试过的查询。
【参考方案1】:
这应该可以解决问题:
SELECT
row_number() over (order by (SELECT 1)) ID,
count(*) Total,
LEFT(Datename(weekday, Cast(Billdate as date)), 3) Day
FROM
ServiceData
WHERE
BillDate >= dateadd(week, datediff(d, -1, getdate()-2)/7, -1)
GROUP BY
Cast(Billdate as date)
ORDER BY
Cast(Billdate as date)
【讨论】:
非常感谢您的回答以上是关于如何在sql server中获取本周的每日数据的主要内容,如果未能解决你的问题,请参考以下文章