對不起,這個問題的通用名稱,但我不知道該怎麼把它..所以這裏有雲:這是可能的與SQL查詢?
我持有以下信息的單個表:
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和用戶名是不言自明的我想
logOn
是1
當用戶登錄在本機和0
當他註銷時。
startUp
是1
打開機器時和0
關閉時。
其他條目分別是NULL
,因爲我們無法在同一時間登錄和啓動。
現在我的任務是:找出哪些計算機已經開啓,在過去一個月中至少的時間(或任何給定時間量,但現在讓我們說一個月)這甚至與SQL可能? < - 小心:我並不需要知道一臺PC了多少次打開,但多少小時/分鐘,每次打開計算機在給定的時空
有兩個小問題,以及:
我們不能說每臺計算機的第一個條目是startUp
列中的1
,因爲記錄這些事件的腳本最近已安裝,因此計算機在開始記錄時已經運行。
我們不能假設,如果我們爲了通過date
並只顯示startUp
列條目都將交替的1和0,因爲如果計算機被強制拉動插頭例如關閉將不會有一個關機日誌,可能有兩個1連續。
編輯:userName
當然是NULL,當startUp
有一個值,因爲打開/關閉並沒有顯示哪個用戶這樣做。
什麼樣的SQL? – podiluska
MS SQL Server 2008對不起,忘了。 – Octoshape
當你有強制關閉的情況下,因此在啓動欄中有兩個1,你想做什麼?你認爲它總是起來? – LaGrandMere