⑴ sql按時間排序
按修改的時間倒序排列語句為:
select * from MyTable Order By ModifyTime Desc
如果只想顯示最新一條,語句為:
select top 1 * from MyTable Order By ModifyTime Desc
示例:
表查詢結果為:
按時間排序後為:
只顯示最新一條結果為:
擴展:
ORDER BY 語句
ORDER BY 語句用於根據指定的列對結果集進行排序。
ORDER BY 語句默認按照升序對記錄進行排序。
如果您希望按照降序對記錄進行排序,可以使用 DESC 關鍵字。
⑵ sql按指定時間段統計問題
不用去判斷,系統自己會判斷的,如上圖,測試代碼如下:
declare @dateNow varchar(100)
declare @daybefore varchar(100)
set @dateNOw = '2014/03/01 09:00:00'
set @daybefore = DATEADD(DAY,-1,@dateNOw)
select @daybefore as daybefore, @dateNow
select * from v_WorkRecord where MakeDate between @daybefore and @dateNow
⑶ SQL 按時間欄位每天分四個部分提取平均值
比如:
select case when convert(varchar(8),時間,108) between '00:00:00' and '05:59:59' then convert(varchar(10),時間,120) + '-1'
when convert(varchar(8),時間,108) between '06:00:00' and '11:59:59' then convert(varchar(10),時間,120) + '-2'
when convert(varchar(8),時間,108) between '12:00:00' and '17:59:59' then convert(varchar(10),時間,120) + '-3'
when convert(varchar(8),時間,108) between '18:00:00' and '23:59:59' then convert(varchar(10),時間,120) + '-4' end 時間段,
avg(值) 平均值
group by
case when convert(varchar(8),時間,108) between '00:00:00' and '05:59:59' then convert(varchar(10),時間,120) + '-1'
when convert(varchar(8),時間,108) between '06:00:00' and '11:59:59' then convert(varchar(10),時間,120) + '-2'
when convert(varchar(8),時間,108) between '12:00:00' and '17:59:59' then convert(varchar(10),時間,120) + '-3'
when convert(varchar(8),時間,108) between '18:00:00' and '23:59:59' then convert(varchar(10),時間,120) + '-4' end
⑷ 求一個按小時篩選的sql語句
以一小時為一組:
select * from 表名 where 時間列名稱 > dateadd(Hour,-1,getDate())
⑸ sql 我有個表要按時間篩選,group沒法用在時間格式上該怎麼辦
selectid,min(date)asmindatefrom表名groupbyid
⑹ sql按日期時間統計次數的語句怎麼寫
select 卡號, count(消費日) 消費天數
from (select distinct 卡號, Day(消費時間) 消費日 from 消費明細)
GROUP by 卡號
⑺ SQL 查詢一表所有數據 有重復的按時間取第一條
select distinct 名稱, 狀態, 時間 from 表 where 狀態 = 1 order by 時間 desc
應該是樓主想要的~ 有重復的會按照時間取第一條~
⑻ Sql 如何將表中的考勤記錄,按時間段統計次數,不分工號,只按日期和時間段
select convert(char(10),iotime,120) as 日期,sum(case when datediff(Hour,convert(char(10),iotime,120),iotime)>=15 then 1 else 0) as 15點之後的個數,sum(case when datediff(Hour,convert(char(10),iotime,120),iotime)<15 then 1 else 0) as 15點之前的個數 from 表名 where 這的條件看自己的了,願意一天或者一個時間段都可以了
⑼ sql 按時間統計
當然可以;
用行轉列就行了
--靜態寫法
select 單位,
sum(case when year(時間)=2005 and datepart(q,時間)=1 then 值 else 0 end) as 2005一季,
sum(case when year(時間)=2005 and datepart(q,時間)=2 then 值 else 0 end) as 2005一季,
..........
from table
group by 單位
豎向顯示時;
select 單位,
case when year(時間)=2005 and datepart(q,時間)=1 then '2005年第一季'
when when year(時間)=2005 and datepart(q,時間)=2
then '2005年第二季'
..........end as 顯示季,
sum(值) as 顯示值
from table
group by 單位,case when year(時間)=2005 and datepart(q,時間)=1 then '2005年第一季'
when when year(時間)=2005 and datepart(q,時間)=2
then '2005年第二季'
..........end
⑽ SQL怎麼按時間篩選,表裡有個時間的欄位,但是存的是長時間格式:2015-01-01 00:00:
代碼如下:
select*fromtable_('2015%22:00')ANDdatetimelike('2015%07:00')
--如果時間段是兩個欄位,則你自己改下即可--