A. 求統計每周記錄數的sql語句
declare
@weeknum
int,@year
int,@month
int;--這里是周數、年、月
declare
@weekday
int,@starttime
datetime,@endtime
datetime,@timechar
varchar(20);--星期幾、一周開始、一周結束、當月第一天字元串
declare
@datepart
int;--需要查詢的周首天與月首天的時間差
--賦值2010年3月
第5周
select
@year=2010,@month=3,@weeknum=5;
set
@timechar=cast(@year
as
varchar)+'-'+cast(@month
as
varchar)+'-1'
--拼接出這個月的第一天
select
@timechar
select
@weekday=datepart(weekday,@timechar)
set
@datepart=(@weeknum-2)*7+(8-@weekday)
select
@starttime=dateadd(dd,@datepart,@timechar)
select
@endtime=dateadd(dd,7,@starttime)
--消除到上個月
及
下個月的出入部分
if
(@starttime<@timechar)
set
@starttime=@timechar
if
(@endtime>dateadd(mm,1,@timechar))
set
@endtime=dateadd(mm,1,@timechar)
select
@weeknum,@starttime,@endtime
--然後就是使用@starttime,@endtime
select
count(*)
from
tb
where
時間>=@starttime
and
時間<@endtime
B. sql 計算自然月周數按星期來計算,然後統計每周
沒太理解你截圖代碼什麼意思,我下面的例子可以通過輸入年月得到該月份的總周數,使用的資料庫是SQL SERVER 2005
DECLARE@yearint,@monthint,@tempdatadatetime,@sumdaymoney
SELECT@year=2015,@month=11
--先拼接成參數月份的第一天
SELECT@tempdata=convert(varchar(4),@year)+'-'+convert(varchar(2),@month)+'-01'
--統計參數月份總天數
SELECT@sumday=datediff(day,@tempdata,dateadd(month,1,@tempdata))
--計算參數月份一共幾周
SEELCTceiling((@sumday-(casewhendatename(weekday,@tempdata)='星期一'then7.0
whendatename(weekday,@tempdata)='星期二'then6.0
whendatename(weekday,@tempdata)='星期三'then5.0
whendatename(weekday,@tempdata)='星期四'then4.0
whendatename(weekday,@tempdata)='星期五'then3.0
whendatename(weekday,@tempdata)='星期六'then2.0else1.0end))/7.0)+1
C. sql 求出最近10周的數據 和最近10個月的數據怎麼求
select '最近10周' as 統計范圍,日期,sum(數據) as 數據統計 from 表名
where 日期>dateadd(wk,-10,getdate()) group by datepart(wk,日期)
union all
select '最近10個月' as 統計范圍,日期,sum(數據) from 表名
where 日期>dateadd(mm,-10,getdate()) group by datepart(mm,日期)
--當然,有編號(主鍵)也要:
--group by datepart(mm,日期) ,編號
D. sql 計算自然月周數按星期來計算,然後統計每周
sql 計算自然月周數按星期來計算,然後統計每周 沒太理解你截圖程式碼什麼意思,我下面的例子可以通過輸入年月得到該月份的總周數,使用的資料庫是SQL SERVER 2005
DECLARE @year int,@month int,@tempdata datetime,@sumday moneySELECT @year=2015,@month=11--先拼接成引數月份的第一天SELECT @tempdata=convert(varchar(4),@year)+'-'+convert(varchar(2),@month)+'-01'--統計引數月份總天數SELECT @sumday=datediff(day,@tempdata,dateadd(month,1,@tempdata))--計算引數月份一共幾周SEELCT ceiling((@sumday-(case when datename(weekday,@tempdata)='星期一' then 7.0 when datename(weekday,@tempdata)='星期二' then 6.0 when datename(weekday,@tempdata)='星期三' then 5.0 when datename(weekday,@tempdata)='星期四' then 4.0 when datename(weekday,@tempdata)='星期五' then 3.0 when datename(weekday,@tempdata)='星期六' then 2.0 else 1.0 end))/7.0)+1
在Excel表中計算自然月每周周未加班餐費
首先要知道你的那一行日期單元格中的資料 是什麼格式的?
比如6 在編輯欄中是什麼?也是6 還是2013-7-6? 還有你的月份 單元格B1 的七月 它的資料格式是?
這些你要交代清楚 還有你這個表的列標 等 你這樣貼圖 大家看起來很累 不能直接回答你的問題 而只能做很多的假設……
主要方向:使用Suproct
補充一下 然後給你答案……
參見附件 把你的 日期資料修改一下 吧 這樣容易計算……
java學期周數的計算,求演演算法
一個簡單的日期計算程式
import java.util.*;
import java.text.*;
public class DateCalculator
{
Date standardDate;
DateFormat mf = new SimpleDateFormat( "yyyy.MM.dd ");
Calendar cal = Calendar.getInstance();
Calendar cal_temp = Calendar.getInstance();
public DateCalculator()
{
try{
standardDate = mf.parse( "2000.01.01 ");
}
catch(ParseException ep){
ep.printStackTrace();
}
}
設定基本日期,使用 "yyyy.MM.dd "格式的字串
public boolean setStandardDate(String str)
{
Date date;
try{
date = mf.parse(str);
}
catch(ParseException ep){
ep.printStackTrace();
return false;
}
standardDate = date;
return true;
}
public boolean setStandardDate(Date date)
{
standardDate = getOnlyDate(date);
return true;
}
year 為年數
month 為月份,以 0 開始,與系統的不同,取值 0-11
為的是與Java的內部使用相容
day 為日期天數
public boolean setStandardDate(int year,int month,int day)
{
cal.clear();
cal.set(year,month,day);
standardDate = cal.getTime();
return true;
}
public boolean setStandardDate(long time)
{
standardDate = getOnlyDate(time);
return true;
}
public Date getStandardDate()
{
return standardDate;
}
取得一個只有日期,不含有時間的日期,也就是時間是 0時 0分 0秒.
public Date getOnlyDate(Date date)
{
cal.setTime(date);
cal_temp.clear();
cal_temp.set(cal.get(Calendar.YEAR),cal.get(Calendar.MONTH),cal.get(Calendar.DAY_OF_MONTH));
return cal_temp.getTime();
}
public Date getOnlyDate(long time)
{
cal.setTimeInMillis(time);
cal_temp.clear();
cal_temp.set(cal.get(Calendar.YEAR),cal.get(Calendar.MONTH),cal.get(Calendar.DAY_OF_MONTH));
return cal_temp.getTime();
}
使用一個字串取得一個日期,樣式 "yyyy.MM.dd "格式的字串
public Date getDate(String str)
{
Date date;
try{
date = mf.parse(str);
}
catch(ParseException ep){
ep.printStackTrace();
return getOnlyDate(new Date());
}
return date;
}
使用輸入的日期減去標准日期,得到相差的天數
public int sub(Date date)
{
long temp = date.getTime()-standardDate.getTime();
if(temp> 0)
{
return (int)(temp/(24*60*60*1000));
}
else
{
return (int)(temp/(24*60*60*1000))-1;
}
}
使用 b_date - j_date 得到相差的天數
public int sub(Date b_date , Date j_date)
{
Date date = getOnlyDate(j_date);
long temp = b_date.getTime()-date.getTime();
if(temp> 0)
{
return (int)(temp/(24*60*60*1000));
}
else
{
return (int)(temp/(24*60*60*1000))-1;
}
}
得到標准日期減去幾天後的日期
public Date add(int day)
{
cal.setTime(standardDate);
cal.add(Calendar.DATE,day);
return cal.getTime();
}
得到 date 減去幾天後的日期
public Date add(Date date , int day)
{
cal.setTime(date);
cal.add(Calendar.DATE,day);
return cal.getTime();
}
public static void main(String args[])
{
DateCalculator temp = new DateCalculator();
Date d = temp.getDate( "2003.01.01 ");
int i = temp.sub(new Date(),d);
System.out.println (i);
}
}
員工年假是從入職日期算,按照自然月來計算嗎?
員工年假規定是從入職日期算。
1、以入職時間開始計算的。
2、根據我國〈職工帶薪年休假條例〉規定:
第三條 職工累計工作已滿1年不滿10年的,年休假5天;已滿10年不滿20年的,年休假
10天;已滿20年的,年休假15天。國家法定休假日、休息日不計入年休假的假期。
請問愛音樂下載包月計費歌曲是按照31天來計算還按照自然月計算?
這個是按月計算。不管是2月的28天還是1月的31天都是按月計費。
愛音樂中的音樂包,是音樂盒的升級版,是4G時代下中國電信愛音樂為天翼使用者提供專屬的音樂內容綜合服務。使用者訂購音樂包產品後,可獲得一個包含5-10首歌曲的音樂盒(每月定期更新歌曲)、可在愛音樂各大門戶區、APP應用中,免費下載和試聽相應歌曲,免費訂購相應的彩鈴。
凍胚自然周期預產期怎麼計算
我也是自然周期生殖中心的醫生也是按我月經算的預產期,但是我去預約NT的時候產科醫生就是從移植日往前推17天算末次月經。 不過我就相差三天的樣子,第17天排卵的。 檢視原帖>>
VBA 計算周數的方法
假定A=WWYY代表20YY年WW周,B代表A到現在有多少周。則:
A=1213
B = DateDiff("ww", Right(A, 2) & "-1-1", Now()) - Int(A / 100)
孕期周數計算,請幫忙下
其實計算懷孕周期一般有兩種演演算法,一是以末次月經時間來潮當天作為懷孕第一天,再有就是根據B超結果來估測,由於各自的月經周期不一樣,那麼就會導致這兩個時間有出入,因為B超參考的是正常月經周期懷孕後的情況。
從你的末次月經時間來算,到4月9號就是懷孕180天,就是懷孕25加5天,就這么簡單。如果B超檢查估測的周期與這個時間基本吻合(前後相差在兩周以內),就是正常的。
工行信用卡計年費是按自然年月來計算么??
不是,按你開通的那一天開始進行計算的。
E. 如何寫SQL語句按周統計和按季度統計
--sqlserver2005語法統計按周,月,季,年。
--按日
--selectsum(price),day([date])fromtable_namewhereyear([date])=
'2006'groupbyday([date])
--按周quarter
selectsum(price),datename(week,price_time)fromble_namewhere
year(price_time)='2008'groupbydatename(week,price_time)
--按月
selectsum(price),month(price_time)fromble_namewhereyear(price_time)
='2008'groupbymonth(price_time)
--按季
selectsum(price),datename(quarter,price_time)fromble_namewhere
year(price_time)='2008'groupbydatename(quarter,price_time)
--按年
selectsum(price),year(price_time)fromble_namewhere
year(price_time)>='2008'groupbyyear(price_time)
F. sql server 怎麼查看最近一周的數據
如果資料庫是SQL Server,可以這樣做: 找到輸入日期的所在的周一,然後將數據范圍限制在這個周一到下個周一之間(包括此周一,不包括下個周一)。所以,關鍵就在計算周一是哪一天(SQL Server中一周第幾天受@@datefirst影響,默認值為7,即周日為一周第一天,但是這里需要周一為一周開始)。
declare @dateValue datetime, @startDay datetime
set @dateValue = '2014-11-11' -- 賦需要查詢的日期值,不包含時分秒
set @startDay = dateadd(d, CASE WHEN datepart(dw, @dateValue) + @@DATEFIRST > 8 THEN 8 - @@datefirst ELSE 1 - @@datefirst END, dateadd(d, - datepart(dw, @dateValue) + 1, @dateValue))
select *
from data_table
where date_field >= @startDay and date_field < dateadd(d, 7, @startDay) --將數據限制在從周一開始的7天內
order by date_field -- 按日期升序排列
如果是其他資料庫,則可以使用類似方法實現。
G. sql統計每周日數據
題目沒看懂,提供一些有用的函數
SELECTDATEPART(WEEKDAY,GETDATE())AS'今天是本周第幾天',DATEPART(WEEK,GETDATE())AS'今天在本年第幾周';
H. SQL中 我給個時間段 要把這個時間段中 每個星期的數據統計到一起
告訴你個思路
sql裡面有個方法可以獲取一個日期的當前是多少周,然後group
by
這個就可以了
sql里取第幾周是從星期天開始算的
你要SET
DATEFIRST
1
就是星期一了
I. 求統計每周記錄數的SQL語句
新建一個周信息表,存儲周信息(周號、周開始時間、周結束時間)
你的周是按照自然周,還是按月結的周?自然周就不用說了,正常的周一到周日。按月結的,就是所有的周都落在一個月內,不會存在跨月的情況。比如2010年1月第一周就是 2010年1月1日到2010年1月9日,這樣一周可能大於七天,也可能小於7天。
按照自然周的給你個方法:
create table bga050t (weak_no varchar(10),
strt_dt datetime,
end_dt datetime
CONSTRAINT [PK_bga050t] PRIMARY KEY CLUSTERED
(
[weak_no]
) ON [PRIMARY]
)
declare @weak_no varchar(18)
declare @strt_dt datetime
declare @end_dt datetime
declare @n int
set @n=1
set @strt_dt = '2007-12-31'
set @weak_no = ''
WHILE(@strt_dt < '2021-01-04')
BEGIN
IF @weak_no<>left(convert(varchar(10),@strt_dt,120),8)
BEGIN
set @weak_no=left(convert(varchar(10),@strt_dt,120),8)
set @n=1
end
set @end_dt= dateadd(d,6,@strt_dt)
insert into bga050t (weak_no,strt_dt,end_dt)
values(@weak_no+convert(varchar,@n),@strt_dt,@end_dt)
set @n=@n+1
set @strt_dt=dateadd(d,1,@end_dt)
END
你要查詢年月周只需要把周號分解就可以了。
select a.* from 表 inner join
bga050t b on a.dt between b.strt_dt and b.end_dt
where left(b.weak_no,7)='2009-02' and [周數] = right(b.weak_no,1)
J. sql 語句怎麼查詢一周的數據
select * from ShopOrder where datediff(week,ordTime,getdate()-1)=0 //查詢當天日期在一周年的數據
select * from ShopOrder where datediff(day,ordTime,getdate()-1)=0 //查詢當天的所有數據
--查詢當天:
select * from info where DateDiff(dd,datetime,getdate())=0
--查詢24小時內的:
select * from info where DateDiff(hh,datetime,getDate())<=24
--info為表名,datetime為資料庫中的欄位值
--查詢當天:
select * from info where DateDiff(dd,datetime,getdate())=0
--查詢24小時內的:
select * from info where DateDiff(hh,datetime,getDate())<=24
--info為表名,datetime為資料庫中的欄位值