我有一张这样的表:
Date OPEN CLOSE HIGH LOW
12.12.2017 10 0 0 0
12.12.2017 0 20 0 0
12.12.2017 0 0 20 0
12.12.2017 0 0 0 10
如何将它们组合在另一个表中的一行中? 谢谢
答案 0 :(得分:0)
如果对于任何日期,每隔一列只有一个非零值,那么您可以GROUP BY Date
并将SUM()
用于其他列:
SELECT
Date,
SUM(OPEN) as OPEN,
SUM(CLOSE) as CLOSE,
SUM(HIGH) as HIGH,
SUM(LOW) as LOW
FROM my_table
GROUP BY Date
但在这种情况下,我会以不同的方式存储数据。例如:
Date Type Value
-------------------------
12.12.2017 OPEN 10
12.12.2017 CLOSE 20
12.12.2017 HIGH 20
12.12.2017 LOW 10