日韩小视频-日韩久久一区二区三区-日韩久久一级毛片-日韩久久久精品中文字幕-国产精品亚洲精品影院-国产精品亚洲欧美云霸高清

下載吧 - 綠色安全的游戲和軟件下載中心

軟件下載吧

當前位置:軟件下載吧 > 數據庫 > MS_SQL > SQL開發:sql時間段切分實現每隔x分鐘出一份高速門架車流量

SQL開發:sql時間段切分實現每隔x分鐘出一份高速門架車流量

時間:2024-03-13 13:57作者:下載吧人氣:19

業務場景:

我們需要查詢從表T里查詢某一天按照5分鐘為一段間隔通過高速門架的車流量。部分脫敏數據如下

SQL開發:sql時間段切分實現每隔x分鐘出一份高速門架車流量

表T里包含time,id,chepai,部分數據為(’2020-02-23 00:43:27','某高速門架0010','浙XXXXXX')

按照正常情況下我們的限定where條件是time >= '2020-02-23 0:00' and time < '2020-02-23 0:00'  或者 between等,但是這樣來寫一兩個還行,要每隔5分鐘切分一次,需要寫二百多,過于麻煩

解決思路:

  • 需要把時間進行下降到其5分鐘開始的最初時間處理,即00:12:30是在00:10:00-00:15:00之間,要轉換為00:10:00,同樣10:21:39在10:20:00-10:25:00,所以轉換為10:20:00,這樣一來五分鐘內的數據都下降統一成5分初的時間,也就是5分鐘這一段的數據就有了。當然也可以把數據進行上升處理,只不過23:55:00-23:59:59這個時間段就上升到第二天的00:00了
  • 對時間段進行下降處理思想有了,問題是如何實現:可以把時間字段轉換為數字整形,即每一個時間都對應著一串數字,只要把這個數字由年月日時分秒切割相加再除以5,然后向下取整再乘以5,最后再轉換為時間,這樣就能達到下降了,這里的核心思想就是無法整除5的那部分余數就是5分鐘這個時間段的,現在我們向下取整,比如2.75向下取整是2,那么就能把時間下降了。同樣的如果是每隔10分鐘,那就是除以10,每隔1小時的,直接substr切分時間字段就可以了
  • 這里使用強大的兩個函數FROM_UNIXTIME和UNIX_TIMESTAMP來完成,具體使用方法參加我的舊文腳本實現:
SELECT t.time,
t.id,
COUNT(DISTINCT(t.chepai)) num
FROM
(SELECT time,
id,
— FROM_UNIXTIME把整型數字轉為時間類型
FROM_UNIXTIME(
— 一般年月日無需動,直接unix_timestamp先轉為整型再加上時分秒即可
unix_timestamp(left(time,10))
— 分*60+秒然后除以5,floor向下取整后再*5*60,具體思路見上
+5*60*floor((substr(PicTime,12,2)*60+substr(Pictime,15,2))/5)
) time,
chepai
FROM T
WHERE left(time,10) = ‘2020-02-23’
ORDER BY time asc)t
GROUP BY t.time,t.id
ORDER BY t.time,t.id
標簽MSSQL,SQLServer,技術文檔,數據庫,SQLSERVER

相關下載

查看所有評論+

網友評論

網友
您的評論需要經過審核才能顯示

熱門閱覽

最新排行

公眾號

主站蜘蛛池模板: 亚洲精品91| 杨幂丝袜国产福利视频 | 国产亚洲欧美一区二区 | 欧美国产伦久久久久 | 日本精品视频一视频高清 | 亚洲第四页 | 99爱视频免费高清在线观看 | 国产或人精品日本亚洲77美色 | 国产一区在线免费观看 | 国产精品免费精品自在线观看 | 一级一级一片免费高清 | 久久久精品久久久久三级 | 国产在线一区二区 | 国产成人av在线 | 国产精品免费精品自在线观看 | 欧美人成在线视频 | 国产一级一级一级国产片 | 成人国产第一区在线观看 | 91成人啪国产啪永久地址 | 成人午夜免费视频 | 国产午夜免费视频片夜色 | 国产一区二区三区不卡在线观看 | 亚洲国产精品免费 | 欧美一区二区在线免费观看 | 免费视频男女 | 911精品国产91久久久久 | 国产日本在线视频 | 亚洲国产一成人久久精品 | 久久久午夜精品理论片 | 免费特黄一区二区三区视频一 | 99国产欧美久久精品 | 国产高清精品在线 | 国产日韩线路一线路二 | 模特三级在线观看 | 国产一级一级一级成人毛片 | 久久综合久久久久 | 欧美日韩国产一区三区 | 成人毛片1024你懂的 | 成年女人在线观看片免费视频 | 精品在线视频观看 | 亚洲干综合|