㈠ sql語句查詢特定時間段的數據怎麼寫
SQL伺服器:
Select*fromtablewhere'2008-7-1'和'2008-12-31'
訪問:
從表中選擇發生日期>#2008-7-1#和發生日期<#2008-12-31#
就是這樣:注意,SQLserver中的日期和訪問有一點不同。
(1)查詢指定日期遲到員工列表sql擴展閱讀:
SQL查詢日期語句
Select*fromShopOrderwheredatediff(week,ordTime,getdate()-1)=0//查詢第一年的日期
Select*fromShopOrder,其中datediff(day,ordTime,getdate()-1)=0//查詢當天的所有數據
SELECT * FROM A where datediff(d,datetime,getdate()) <=30 //前30天
SELECT * FROM A WHERE DATEDIFF(m, shijian, GETDATE()) <=1 //上個月
搜索當天記錄的其他方法:
SELECT*
FROMj_GradeShop
其中(GAddTimeBETWEENCONVERT(datetime,LEFT(GETDATE(),10)+'00:00:00.000'))
並轉換(datetime,LEFT(GETDATE(),10)+'00:00:00.00.000')+1)
由GAddTime指定的訂單
㈡ SQL如何判斷遲到
給你一個思路吧
1,先把兩個表串起來
2,按照 日期 分組,取一個最小的打卡時間
3,case 語句,判斷取出來的時間 和 9:30的大小關系。
㈢ SQL語言查詢日期最晚的某些條記錄
正確答案:
select 表.*
from 表,(select 員工id,max(更改時間) 更改時間 from 表 group by 員工id) x
where 表.更改時間=x.更改時間 and 表.員工id=x.員工id
㈣ 」查詢遲到次數大於5的員工有多少人」的SQL語句怎麼寫
如果是統計遲到次數大於5的員工總數:
select count(*) as 人數 from 表名 where 遲到>5
如果是把所有遲到次數大於5的員工列出來:
select * from 表名 where 遲到>5
㈤ sql語句,查詢某個部門的員工考勤異常超過5次的員工,
select
*
from
(select
部門,
員工姓名
,
count(1)
as
'考勤異常數'
from
table
where
部門
=
'X'
and
考勤
=
'異常'
group
by
部門,
員工姓名)
t1
where
t1.考勤異常數
>
5;
---------------------------------------------------------------------------
sql解釋:內層語句是統計某個部門(X)考勤有'異常'的員工及異常次數;
外層語句是將異常次數超過5次的員工查詢出來。
㈥ SQL語句的編寫,查詢公司所有普通員工某一天第一次的刷卡時間和最後一次刷卡時間的匯總。
感覺只能用游標來做,普通的SQL幾乎不能實現。
㈦ 使用一個sql語句,查詢在7月份遲到的,超過9點40的為遲到,只求sql語句的條件
SELECT Department,lateCount
FROM
(
SELECT Department, COUNT(*) AS lateCount
FROM staff_info JOIN time_record ON staff_info.Staff_code = time_record.Staff_code
CONVERT(varchar(5),arrive_time,114)>'14:40'
)
WHERE lateCount >=3
㈧ sqlserver 查詢記錄根據人員考勤記錄去重,當時只去重當天的,不同日期的可以重復,sql怎麼寫 求助
用分析函數row_number() over (partition by ... order by ...)給記錄進行分組編號,按人員id和考勤日期進行分組(如果考勤日期帶時分秒,需先截斷到日),按時間升序排序;這樣,就得到人員ID在同一考勤日期下的編號值(編號值是從1開始的),然後,只取編號值為1的記錄。
SQL類似:
selects.id,s.name,s.date,s.card_time
from(
selectd.id,d.name,d.date,d.card_time,
row_number()over(partitionbyd.id,d.dateorderbyd.card_time)asrow_idx
fromdata_tabled
)s
wheres.row_idx=1
㈨ sql查詢一段時期里每一天所有員工的打卡記錄
1、某一位員工在指定時間段里每一天的最早和最遲打卡記錄
selectmin(card_no)card_no,min(fname)fname,min(rec_dat)start_time,max(rec_dat)end_time
fromEV_LOG
wherecard_no='員工卡號'andevnt_descrp='Accessgranted'
andconvert(varchar(10),rec_dat,120)between'2013-07-01'and'2013-07-16'
groupbyconvert(varchar(10),rec_dat,120)
3、 所有員工在指定時間段里每一天的最早和最遲打卡記錄
selectcard_no,min(fname)fname,min(rec_dat)start_time,max(rec_dat)end_time
fromEV_LOG
whereevnt_descrp='Accessgranted'and
convert(varchar(10),rec_dat,120)between'2013-07-01'and'2013-07-16'
groupbycard_no,convert(varchar(10),rec_dat,120)
2和4就不寫了,用datediff(hh,start_time,end_time)就可以了
㈩ 查詢指定年份之間入職的員工信息。(1980-1985) sql語句
select * from table t
where trunc(t.欄位名)>=to_date('1980-01-01','yyyy-mm-dd')
and trunc(t.欄位名)<to_date('1986-01-01','yyyy-mm-dd')