sql 統計常用的sql

2022-02-09 08:34:07 字數 1434 閱讀 4737

統計常用的sql

統計常用的sql語句:

今天的所有資料:select * from 表名 where datediff(dd,datetime型別字段,getdate())=0昨天的所有資料:select * from 表名 where datediff(dd,datetime型別字段,getdate())=17天內的所有資料:select * from 表名 where datediff(dd,datetime型別字段,getdate())<=730天內的所有資料:select * from 表名 where datediff(dd,datetime型別字段,getdate())<=30本月的所有資料:select * from 表名 where datediff(mm,datetime型別字段,getdate())=0本年的所有資料:select * from 表名 where datediff(yy,datetime型別字段,getdate())=0查詢今天是今年的第幾天: selectdatepart(dayofyear,getdate())

查詢今天是本月的第幾天:1. selectdatepart(dd, getdate())

2.selectday(getdate())

查詢本週的星期一日期是多少 (注意:指定日期不能是週日,如果是週日會計算到下周一去。所以如果是週日要減一天) select dateadd(wk,datediff(wk,0,getdate()),0)

查詢昨天日期:select convert(char,dateadd(dd,-1,getdate()),111) //111是樣式號,(100-114)

查詢本月第一天日期:select dateadd(mm, datediff(mm,0,getdate()), 0) asfirstday

查詢本月最後一天日期:select dateadd(ms,-3,dateadd(mm, datediff(m,0,getdate())+1, 0)) as lastday //修改-3的值會有相應的變化

本月有多少天:select datepart(dd,dateadd(dd,-1,dateadd(mm,1,cast((cast(year(getdate()) as varchar)+'-'+cast(month(getdate()) as varchar)+'-01' ) asdatetime ))))

求兩個時間段相差幾天:select datediff(day,'2012/8/1','2012/8/20') asdaysum

在指定的日期上±n天:select convert(char,dateadd(dd,1,'2012/8/20'),111) as riqi //輸出2012/8/21

在指定的日期上±n分鐘:select dateadd(mi,-15,getdate()) //查詢當前時間15分鐘之前的日期​

關於統計報表常用sql

1 根據條件查總數 select count all sum,if sum if problem state in 1,2 1,0 is null,0,sum if problem state in 1,2 1,0 problem num,if sum if problem state 3,1,0 ...

常用的資料統計Sql 總結

1.統計各個條件下的資料 select batchid,sum cardsum 總金額,sum case when status 1 then cardsum else 0 end as 已使用,sum case when status 2 then cardsum else 0 end as 已凍...

常用的資料統計Sql 總結

最近剛在搞乙個bi的專案,裡面需要大量的sql 資料統計相關運用,加深了我又對sql的理解與使用。所以,分享幾個資料統計時常用的sql 語句總結 1.統計各個條件下的資料 select batchid,sum cardsum 總金額,sum case when status 1 then cards...