我想從我的表中獲取數據,包括空行。例如:我想知道,如果在過去30分鐘內有一些活動。如果有什麼,那麼我可以獲取數據並且它可以工作,但是如何在沒有任何活動的情況下包含這些記錄?我所有的數據都在同一張表中。PostgreSQL - 如何從同一個表中獲取空(空)記錄?
謝謝!
╔═════╦═════════════════════╦══════╗
║ SRV ║ DATE ║ FLAG ║
╠═════╬═════════════════════╬══════╣
║ 1 ║ 2013-01-01 08:10:12 ║ 4 ║
║ 1 ║ 2013-01-01 08:11:24 ║ 4 ║
║ 1 ║ 2013-01-01 08:12:01 ║ 5 ║
║ 1 ║ 2013-01-01 08:12:14 ║ 5 ║
║ 2 ║ 2013-01-01 08:20:44 ║ 4 ║
║ 2 ║ 2013-01-01 08:23:11 ║ 5 ║
║ 1 ║ 2013-01-01 08:24:09 ║ 4 ║
║ 1 ║ 2013-01-01 08:28:54 ║ 5 ║
║ 1 ║ 2013-01-01 08:30:01 ║ 4 ║
║ 3 ║ 2013-01-01 08:32:31 ║ 4 ║
║ 3 ║ 2013-01-01 08:32:45 ║ 4 ║
║ 1 ║ 2013-01-01 08:35:21 ║ 4 ║
╚═════╩═════════════════════╩══════╝
我想得到狀態4,在這種情況下,按SRV分組狀態4的標誌數。當在指定的時間段內沒有標誌4時,應該有SRV和NULL值的記錄。在這種情況下,我的查詢應該返回:
╔═════╦═══════╦══╗
║ SRV ║ COUNT ║ ║
╠═════╬═══════╬══╣
║ 1 ║ 2 ║ ║
║ 2 ║ NULL ║ ║
║ 3 ║ 2 ║ ║
╚═════╩═══════╩══╝
我能夠使用計算現有的標誌:
select srv, count(*)
from table1
where flag=4 and date >= now() - interval '10m'
group by svr
order by 1
可以顯示錶格的結構,數據和結果的示例以及您已經嘗試寫入的查詢嗎? –