在MySQL中连接4行

时间:2017-12-16 19:58:46

标签: mysql

我有一张这样的表:

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

如何将它们组合在另一个表中的一行中? 谢谢

1 个答案:

答案 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