我本質上是在尋找一種方法來規范化(t/t0)具有特定時間點的時間點的一組測量值,例如 timepoint=0。
我有一張如下表:
coordinate,timepoint,quantity
A1,0,50
B2,0,10
C3,0,60
A2,0,20
F1,0,20
A1,1,100
B2,1,150
C3,1,120
A2,1,140
F1,1,160
A1,4,100
B2,4,80
C3,4,80
A2,4,100
F1,4,120
我想制作一個表格,將所有其他非零時間點行除以坐標匹配的 0 個時間點行,即 A1-t1 / A1-t0、A1-t4 / A1-t0、B2-t1 / B2-t0 , B2-t0 / B2-t4 等等等等,只要有可用的坐標連接。
結果將是:
coordinate,timepoint,quantity
A1,0,1
B2,0,1
C3,0,1
A2,0,1
F1,0,1
A1,1,2
B2,1,15
C3,1,2
A2,1,7
F1,1,8
etc.
像這樣的東西大多有效......
select t0.coordinate,t0.quantity,tother.quantity,tother.quantity/t0.quantity as tnorm
(select * from table
where timepoint != 0) as tother
LEFT JOIN (select * from table
where timepoint = 0) as t0
ON (t1.coordinate = t2.coordinate);
雖然我理想情況下希望可以在每列是每個規范化的地方顯示表格的樞軸,例如列
coordinate, t0/t0, t1/t0, t4/t0 etc.
A1,1,2,value etc.
B2,1,15,value etc.
C3,1,2,value etc.
A2,1,7,value etc.
F1,1,8,value etc.
...盡管這可能是不可能的,必須在后處理中完成(例如 pandas pivot)。
我無法為這個找到正確的語法 - 感謝任何幫助。
uj5u.com熱心網友回復:
WITH t1 AS (
SELECT position, quantity
FROM table
WHERE timepoint = 0
)
SELECT t2.position, t2.timepoint, (t2.quantity/t1.quantity) quantity
FROM table t2
INNER JOIN t1 ON t2.position=t1.position
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/486204.html
標籤:sql PostgreSQL
上一篇:如何在Databricks的SQL查詢中使用python變數?
下一篇:如何找回獲得最高獎金的員工?
