我有一個包含開始時間,停止時間和MAC地址的RADIUS會話記錄表。我有一個要求,收集兩個時間範圍內聯機的用戶列表。我相信,在與下面的查詢的時間範圍內,我讓所有用戶的列表在線:SQL從日期範圍中選擇
SELECT s_session_id, s_start_time, s_stop_time, s_calling_station_id
FROM sessions
WHERE (
("2015-10-01 08:00:00" BETWEEN s_start_time AND s_stop_time OR "2015-10-01 08:30:00" BETWEEN s_start_time AND s_stop_time)
OR
("2015-10-01 12:00:00" BETWEEN s_start_time AND s_stop_time OR "2015-10-01 12:30:00" BETWEEN s_start_time AND s_stop_time)
)
ORDER BY s_start_time;
但下一步,在都時期隔離細節只有那些用戶在線時,躲避我。我得到最接近的是
GROUP BY s_calling_station_id HAVING COUNT(s_calling_station_id) > 1
但這並沒有提供我所有的會議的細節。
小提琴是在這裏:http://sqlfiddle.com/#!9/1df471/1
感謝任何幫助!
可我只是說,誰downvote提供一個明確的要求問題,示例代碼,鏈接,小提琴等不加評論的人是世界上最糟糕的人。嚴重的是,WTF在這個問題上是錯誤的? – miken32
@Barranka不是針對你,只是對乙醚的呼喊! – miken32
我不認爲它是個人的;)順便說一句,我覺得你的問題很有趣,我很高興你有一個很好的答案(我正在研究一個非常類似的方法,但巴爾馬速度更快)如果你希望看到我的方法,[這裏是SQL小提琴](http://sqlfiddle.com/#!9/1df471/39)。 – Barranka