我有這兩個表。我想要統計最後一段時間連續註釋'1'的con_id的數量。
例如:2表示A1,1表示A3,而0表示A2和B1,因爲它們對於下表的最新結果連續不具有「1」。通過查詢與內嵌查詢組的SQL幫助
t_conmast
- CON_ID [PK]
- off_code
con_id off_code A1 1 A2 1 B1 2 A3 1
t_readbak
- CON_ID [FK]
- 計數器
- 備註
- timestamp [未在表格中顯示;自動由系統插入]
con_id counter remark timestamp A1 1 0 A1 3 1 A1 6 1 B1 1 1 B1 2 0 A2 1 0 A2 2 1 A2 3 0 A3 1 1
我嘗試和失敗(我加了off_code只是爲了獲得導致單個辦公室)
select con_id,
count(con_id)
from t_readbak
where remark=1 and timestamp > (select max(timestamp)
from t_readbak
where remark=0
group by con_id)
and con_id in (select con_id from t_conmast where off_code=1)
預計輸出
con_id count(con_id) A1 2 A2 0 A3 1 B1 0
您可以根據問題中的數據發佈預期的輸出嗎? – 2013-04-29 14:37:43
@EdGibbs編輯:) – Sourav 2013-04-29 14:39:10
你可以(a)描述你如何定義一個「期間」(如在*「我想要計算在最後一個期間持續註釋'1'的con_id的數目」*), (b)闡明辦公室的重要性(大概由'off_code'定義)和(c)將時間戳數據添加到樣本數據集中? – 2013-04-29 14:44:36