假設我有兩個表: 表device
是一組測量設備,表data
是一組由設備測量的不同類型的值。支持同一表的兩個查詢
Table data = (no, id,value_type,value, dayhour) no is PK, id refer to table device
Table device = (id, name) id is PK
我現在有一個查詢,將獲得在特定日期產生的特定value_type
的所有值由id
的總和,是這樣的:
SELECT SUM(cast(a.value as int)),b.name FROM data a INNER JOIN device b
ON a.id=b.id
AND a.id=1
AND a.value_type=2
AND date(a.dayhour)='2015-12-12'
GROUP BY b.name
查詢工作沒有問題。現在我想能夠減去不同值類型的總和。我目前所做的是兩個查詢,一個用於獲得value_type
2的總和,另一個用於總和value_type
3,然後在上層進程中進行減法。
不過,我想從單個查詢做到這一點,像一個查詢,將與value_type
2,另一總和檢索一列與value_type
3之和第三個與這兩個減法列。
請提供適當的表格定義:在psql中使用'\ d tbl'或原始的'CREATE TABLE'腳本得到的結果。另外,作爲*永遠*:你的Postgres版本。 – 2015-02-10 02:42:08