SQL如何将数据组合在一起

时间:2016-08-18 18:40:28

标签: sql

Table with unsorted data

包含未分类数据的表显示了我现在获得的数据。我需要做的是将用户名组合在一起。因此它看起来像图片"表格和排序数据"。如果我的问题不清楚,请告诉我。我不太擅长解释事情。

Table with sorted data

3 个答案:

答案 0 :(得分:0)

根据您的评论,用户可以多次登录而无需注销。以下查询将在每次登录后为每个用户获取下一个最快的注销时间。如果没有会话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

答案 1 :(得分:0)

在Sql数据中总是显示没有组,但应用程序或报告使用此重复字段进行分组,就像您喜欢的那样。

答案 2 :(得分:0)

这将为您提供您相信我想要的东西。如果您不关心订单,除了将用户名分组在一起外,您可以带走&#34;,LoggedOn&#34;遵循Order by子句。您还可以将其他参数放在第一个Order by字段后面,它将首先按用户名,然后按Logged,然后按x,然后按y来订购结果集。

希望这有帮助。

select UserName, LoggedOn, LoggedOut 
from dbo.Table
Order by Username, LoggedOn