sql 相鄰2筆記錄時間差比較
下午看到項目有統計報表的生成,其中XX表中記錄相鄰2筆記錄統計時間差即
表中資料如下:
要求鄰近2筆記錄如第1條和第2筆記錄創建時間差統計出來
即
zhouhui zhouhui
dingxiang 24秒
為需求出來了需要解決,後來找到解決方法了
1:#qq
Sll代碼##select t.username,(max( t.CREATIONDATE)-min( t.CREATIONDATE))*24*60*60,count(t.username)/2
## - from
ofloginlog t
- --where USERNAME = 'zhouhui'
- group
by t.username
以分組統計出使用者線上時間(即前後2筆記錄作差)
#說明最後一個欄位我是用來統計使用者登入次數所使用的。
- username,
- sum
(b), count (username) / 2
from ( - select
id, username, ( ATIONDATE -CREtime) * 24 * 60 * 60 as b #
-
from (select t.*, ##1 lag (type) over(partition by
username order -
by CREATIONDATE) lgtype,
-
lag(CREATIONDATE) over(partition by username order by
CREATIONDATE) lgtime -
## from ofloginlog t))
-- where USERNAME = 'zhouhui') -
- by
# username
實現效果一樣這裡不貼了 - 又複習了一下基本的SQL 了呵呵
20100520 需求有些變更要求統計個數不是統計TYPE 1 和0 記錄總和平均值,只統計TYPE=0 的值, 這樣SQL 的分組就不能這樣了,想了一下改進了SQL
Sql程式碼 #####################select## # g.username, g.###time###, h.###count### ################## ###from#### ( ###select### t.username, ################## , floor( ##(t.CREATIONDATE)) * 24 * 60 * 60) ###as### ###time### ########## from### ofloginlog t, ofuser b ################### ,######### 1 =#1 ####where## ##### ###and### t.username = b.username ####################################################################################### group by t.username) g,
(select t.username, count(t.username) as count#
## #from ofloginlog t
-
# group
#by t.username) h
##by###
##
where g.username = h.username
以上是sql 相鄰2筆記錄時間差比較的詳細內容。更多資訊請關注PHP中文網其他相關文章!

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

熱門話題

HQL和SQL在Hibernate框架中進行比較:HQL(1.物件導向語法,2.資料庫無關的查詢,3.類型安全),而SQL直接操作資料庫(1.與資料庫無關的標準,2.可執行複雜查詢和資料操作)。

《OracleSQL中除法運算的用法》在OracleSQL中,除法運算是常見的數學運算之一。在資料查詢和處理過程中,除法運算可以幫助我們計算欄位之間的比例或得出特定數值的邏輯關係。本文將介紹OracleSQL中除法運算的用法,並提供具體的程式碼範例。一、OracleSQL中除法運算的兩種方式在OracleSQL中,除法運算可以用兩種不同的方式來進行

Oracle和DB2是兩個常用的關聯式資料庫管理系統,它們都有自己獨特的SQL語法和特性。本文將針對Oracle和DB2的SQL語法進行比較與區別,並提供具體的程式碼範例。資料庫連接在Oracle中,使用以下語句連接資料庫:CONNECTusername/password@database而在DB2中,連接資料庫的語句如下:CONNECTTOdataba

MyBatis動態SQL標籤解讀:Set標籤用法詳解MyBatis是一個優秀的持久層框架,它提供了豐富的動態SQL標籤,可以靈活地建構資料庫操作語句。其中,Set標籤是用來產生UPDATE語句中SET子句的標籤,在更新作業中非常常用。本文將詳細解讀MyBatis中Set標籤的用法,以及透過具體的程式碼範例來示範其功能。什麼是Set標籤Set標籤用於MyBati

SQL中的Identity是什麼,需要具體程式碼範例在SQL中,Identity是一種用於產生自增數字的特殊資料類型,它常用於唯一識別表中的每一行資料。 Identity欄位通常與主鍵列搭配使用,可確保每筆記錄都有獨一無二的識別碼。本文將詳細介紹Identity的使用方式以及一些實際的程式碼範例。 Identity的基本使用方式在建立表格時,可以使用Identit

背景公司的一個需求,公司既有的鏈路追蹤日誌元件要支援MySQL的sql執行時間列印,要實現鏈路追蹤常用的手段就是實現第三方框架或工具提供的攔截器接口或是過濾器接口,對於MySQL也不例外,其實就是實作了MySQL驅動的攔截器介面而已。具體實作MySQL的管道有不同的版本,不同版本的攔截器介面是不同的,所以要針對你所使用的不同版本的MySQL驅動去實現回應的攔截器,接下來分別介紹下MySQL頻道5,6, 8版本的實作方式。 MySQL5這裡以MySQL頻道5.1.18版本為例實現,實作Statem

解決方法:1、檢查登入使用者是否具有足夠的權限來存取或操作該資料庫,確保該使用者俱有正確的權限;2、檢查SQL Server服務的帳戶是否具有存取指定檔案或資料夾的權限,確保該帳戶具有足夠的權限來讀取和寫入該文件或資料夾;3、檢查指定的資料庫文件是否已被其他進程打開或鎖定,嘗試關閉或釋放該文件,並重新運行查詢;4、嘗試以管理員身份運行Management Studio等等。

在Springboot+Mybatis-plus不使用SQL語句進行多表添加操作我所遇到的問題準備工作在測試環境下模擬思維分解一下:創建出一個帶有參數的BrandDTO對像模擬對後台傳遞參數我所遇到的問題我們都知道,在我們使用Mybatis-plus中進行多表操作是極其困難的,如果你不使用Mybatis-plus-join這一類的工具,你只能去配置對應的Mapper.xml文件,配置又臭又長的ResultMap,然後再寫對應的sql語句,這種方法雖然看上去很麻煩,但具有很高的靈活性,可以讓我們
