質問の一般的なタイトルで申し訳ありませんが、他にどのように言えばいいのかわかりませんでした..だからここに行きます:
次の情報を保持する単一のテーブルがあります。
computerName | userName | date | logOn | startUp
| | | |
ID_000000001 | NULL | 2012-08-14 08:00:00.000 | NULL | 1
ID_000000001 | NULL | 2012-08-15 09:00:00.000 | NULL | 0
ID_000000003 | user02 | 2012-08-15 19:00:00.000 | 1 | NULL
ID_000000004 | user02 | 2012-08-16 20:00:00.000 | 0 | NULL
computername と username は自明だと思います
logOn
ユーザーが1
マシン0
にログオンしたときとログオフしたときです。
startUp
1
マシンの電源を入れ0
たときと電源を切ったときです。
NULL
ログインと起動を同時に行うことはできないため、他のエントリは常にそれぞれです。
ここでの私のタスクは次のとおりです:先月 (または任意の時間、ただしここでは 1 か月としましょう) で最も電源が入っていないコンピューターを見つけます。これは SQL でも可能ですか? <-- 注意: PC の電源がオンになった回数を知る必要はありませんが、指定された時間間隔で各コンピューターの電源がオンになった時間/分を知る必要があります
2 つの小さな問題もあります。
これらのイベントをログに記録するスクリプトが最近インストールされたため、各コンピューターの最初のエントリが列にあるとは言えません。したがって、ログを開始したときに既にコンピューターが実行されていた可能性があります。1
startUp
たとえば、プラグを抜いてコンピューターが強制的にシャットダウンされた場合、シャットダウンのログはなく、その可能性があるため、エントリがすべて交互に 1 と 0 になるという列のみを表示する場合は想定できません。 1 が 2 つ連続します。date
startUp
編集:userName
もちろん、値がある場合は NULLstartUp
です。これは、電源を入れたりシャットダウンしたりしても、どのユーザーがそれを行ったかがわからないためです。