2014-01-12 57 views
0

我有在sqlite的一個簡單的表看起來像這樣:如何比較SQL(sqlite)中相同時間戳的結果?

dt     | ab | price 
----------------------------- 
2014-01-06 21:57:00 | a | 86 
2014-01-06 21:57:00 | b | 89 
2014-01-06 21:58:00 | b | 84 
2014-01-06 21:58:00 | a | 82 
2014-01-06 21:59:00 | a | 82 
2014-01-06 21:59:00 | b | 66 

因此,對於每一個日期時間我已經得到了從「A」和「B」的代價。我現在希望得到一個列表中,我可以很容易地比較價格是這樣的:

dt     | price of a | price of b 
---------------------------------------------- 
2014-01-06 21:57:00 | 86   | 89 
2014-01-06 21:58:00 | 82   | 84 
2014-01-06 21:59:00 | 82   | 66 

我嘗試這樣做:SELECT dt, price FROM prices GROUP BY dt;,但無濟於事。我明白爲什麼這些行不通,但我真的不知道如何正確地做到這一點。我想我需要使用連接或其他東西,但我並不擅長SQL。

有人能給我一個提示,我將如何做到這一點?

回答

2

你想有條件聚集:

SELECT dt, 
     max(case when ab = 'a' then price end) as a_price, 
     max(case when ab = 'b' then price end) as b_price 
FROM prices 
GROUP BY dt;