[英]SQL How to group data together
根據您的評論,用戶可以多次登錄而無需注銷。 以下查詢將在每次登錄后為每個用戶獲取下一個最快的注銷時間。 如果沒有會話ID,似乎沒有任何方法可以保證每個登錄時間與哪個登出時間相關聯。
Select UserName,
LoggedOn,
(select min(LoggedOut) from dbo.MyTable T1 where T.UserName = T1.UserName and T.LoggedOn <= T1.LoggedOut)
from dbo.MyTable T
where LoggedOn is not null
在Sql數據中始終顯示沒有組,但應用程序或報表使用此重復字段為組,它就像您喜歡的那樣。
這將為您提供我所相信的東西。 如果您不關心訂單,除了將用戶名分組在一起之外,您可以在Order by子句后面刪除“,LoggedOn”。 您還可以將其他參數放在第一個Order by字段后面,它將首先按用戶名,然后按Logged,然后按x,然后按y來排序結果集。
希望這可以幫助。
select UserName, LoggedOn, LoggedOut
from dbo.Table
Order by Username, LoggedOn
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.