ユーザーのログインとログアウトを追跡するテーブルがあります。
このクエリは、最後のアクションが最初などの順序ですべてのレコードを返します。
SELECT [entryid]
,[index]
,[sessionid]
,[UserName]
,[UserPublicIP]
,[EntryDateTime]
,[ServerIP]
,[EventDesc]
FROM [DB].[dbo].[table]
order by EntryDateTime desc
現在ログインしているユーザーを返すクエリが必要です。
EventDesc の可能な値は次のとおりです。
Session Login Succeeded
Session Logoff Succeeded
Session reconnection succeeded
Session has been disconnected
Shell start notification received
etc
最後の EntryDesc があった行からユーザー名 (および他の列) をリストする q SQL クエリを作成するにはどうすればよいですか: セッション ログイン成功またはセッション再接続成功、つまりユーザー ログイン。
以下のような Distinct & Group By クエリを使用してみましたが、うまくいかないようです。
Select * From [DB].[dbo].[table] Group By Username
Select Distinct Username From [DB].[dbo].[table]
参考までに: ユーザー ログがログに記録されるたびにテーブルに行が作成されるため、クエリでは問題のユーザー名の最新の行を選択する必要があります。