日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

sql 中的导航函数 FIRST_VALUE, LAST_VALUE

發(fā)布時間:2025/4/5 编程问答 17 豆豆
生活随笔 收集整理的這篇文章主要介紹了 sql 中的导航函数 FIRST_VALUE, LAST_VALUE 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
FIRST_VALUE 以下示例計算各部門的最快時間,并且計算某個部門么每個員工與第一名的時間差
WITH finishers AS(SELECT 'Sophia Liu' as name,TIMESTAMP '2016-10-18 2:51:45' as finish_time,'F30-34' as divisionUNION ALL SELECT 'Lisa Stelzner', TIMESTAMP '2016-10-18 2:54:11', 'F35-39'UNION ALL SELECT 'Nikki Leith', TIMESTAMP '2016-10-18 2:59:01', 'F30-34'UNION ALL SELECT 'Lauren Matthews', TIMESTAMP '2016-10-18 3:01:17', 'F35-39'UNION ALL SELECT 'Desiree Berry', TIMESTAMP '2016-10-18 3:05:42', 'F35-39'UNION ALL SELECT 'Suzy Slane', TIMESTAMP '2016-10-18 3:06:24', 'F35-39'UNION ALL SELECT 'Jen Edwards', TIMESTAMP '2016-10-18 3:06:36', 'F30-34'UNION ALL SELECT 'Meghan Lederer', TIMESTAMP '2016-10-18 3:07:41', 'F30-34'UNION ALL SELECT 'Carly Forte', TIMESTAMP '2016-10-18 3:08:58', 'F25-29'UNION ALL SELECT 'Lauren Reasoner', TIMESTAMP '2016-10-18 3:10:14', 'F30-34') SELECT name,FORMAT_TIMESTAMP('%X', finish_time) AS finish_time,division,FORMAT_TIMESTAMP('%X', fastest_time) AS fastest_time,TIMESTAMP_DIFF(finish_time, fastest_time, SECOND) AS delta_in_seconds FROM (SELECT name,finish_time,division,FIRST_VALUE(finish_time)OVER (PARTITION BY division ORDER BY finish_time ASCROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING) AS fastest_timeFROM finishers); namefinish_timedivisionfastest_timedelta_in_seconds
Carly Forte03:08:58F25-2903:08:580
Sophia Liu02:51:45F30-3402:51:450
Nikki Leith02:59:01F30-3402:51:45436
Jen Edwards03:06:36F30-3402:51:45891
Meghan Lederer03:07:41F30-3402:51:45956
Lauren Reasoner03:10:14F30-3402:51:451109
Lisa Stelzner02:54:11F35-3902:54:110
Lauren Matthews03:01:17F35-3902:54:11426
Desiree Berry03:05:42F35-3902:54:11691
Suzy Slane03:06:24F35-3902:54:11733
FIRST_VALUE 以下示例計算各部門的最慢的時間,并且計算某個部門么每個員工與最后一名的時間差
WITH finishers AS(SELECT 'Sophia Liu' as name,TIMESTAMP '2016-10-18 2:51:45' as finish_time,'F30-34' as divisionUNION ALL SELECT 'Lisa Stelzner', TIMESTAMP '2016-10-18 2:54:11', 'F35-39'UNION ALL SELECT 'Nikki Leith', TIMESTAMP '2016-10-18 2:59:01', 'F30-34'UNION ALL SELECT 'Lauren Matthews', TIMESTAMP '2016-10-18 3:01:17', 'F35-39'UNION ALL SELECT 'Desiree Berry', TIMESTAMP '2016-10-18 3:05:42', 'F35-39'UNION ALL SELECT 'Suzy Slane', TIMESTAMP '2016-10-18 3:06:24', 'F35-39'UNION ALL SELECT 'Jen Edwards', TIMESTAMP '2016-10-18 3:06:36', 'F30-34'UNION ALL SELECT 'Meghan Lederer', TIMESTAMP '2016-10-18 3:07:41', 'F30-34'UNION ALL SELECT 'Carly Forte', TIMESTAMP '2016-10-18 3:08:58', 'F25-29'UNION ALL SELECT 'Lauren Reasoner', TIMESTAMP '2016-10-18 3:10:14', 'F30-34') SELECT name,FORMAT_TIMESTAMP('%X', finish_time) AS finish_time,division,FORMAT_TIMESTAMP('%X', slowest_time) AS slowest_time,TIMESTAMP_DIFF(slowest_time, finish_time, SECOND) AS delta_in_seconds FROM (SELECT name,finish_time,division,LAST_VALUE(finish_time)OVER (PARTITION BY division ORDER BY finish_time ASCROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING) AS slowest_timeFROM finishers); namefinish_timedivisionslowest_timedelta_in_seconds
Carly Forte03:08:58F25-2903:08:580
Sophia Liu02:51:45F30-3403:10:141109
Nikki Leith02:59:01F30-3403:10:14673
Jen Edwards03:06:36F30-3403:10:14218
Meghan Lederer03:07:41F30-3403:10:14153
Lauren Reasoner03:10:14F30-3403:10:140
Lisa Stelzner02:54:11F35-3903:06:24733
Lauren Matthews03:01:17F35-3903:06:24307
Desiree Berry03:05:42F35-3903:06:2442
Suzy Slane03:06:24F35-3903:06:240

總結(jié)

以上是生活随笔為你收集整理的sql 中的导航函数 FIRST_VALUE, LAST_VALUE的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。