我有一個包含開始/停止時間戳的sqlite表。我想創建一個查詢,從那裏返回總的流逝時間。在sqlite中加入select/subtraction的奇數/偶數結果?
現在我有一個SELECT(如SELECT t,type FROM event WHERE t>0 AND (name='start' or name='stop) and eventId=xxx ORDER BY t
),它返回一個表,它看起來是這樣的:
+---+-----+
|t |type |
+---+-----+
| 1|start|
| 20|stop |
|100|start|
|150|stop |
+---+-----+
爲了生產總時間在上面的例子會被(20-1)+(150-100) = 69
完成我有一個想法是這樣的:我可以運行兩個單獨的查詢,一個用於「開始」字段,一個用於「停止」字段,假設他們總是這樣排隊:
+---+---+
|(1)|(2)|
+---+---+
| 1| 20|
|100|150|
+---+---+
(1) SELECT t FROM EVENT where name='start' ORDER BY t
(2) SELECT t FROM EVENT where name='stop' ORDER BY t
然後它會很簡單(我認爲!)來總結差異。唯一的問題是,我不知道是否可以像這樣加入兩個單獨的查詢:我熟悉將每行與每行相結合的聯接,然後刪除那些不符合某些條件的聯接。在這種情況下,標準是行索引是相同的,但這不是數據庫字段,它是兩個獨立選擇輸出中結果行的順序 - 沒有任何數據庫字段可用於確定這一點。
或者還有其他方法可以做到這一點?
只有除了開始和停止的類型,但我可以很容易地用一個子查詢替代使事情成功的「事件」。謝謝! – Michael 2013-02-18 00:34:45