Group By MySQL如果为null字段,则保留最后一个值

时间:2017-11-10 07:59:58

标签: mysql

我有一个表,我需要对一些列值进行求和并对结果进行分组,但如果单词字段为空,我需要查看最后一个单词值。 样本表

| id| cod |  word | value |
| 1 |  1  | descr |     2 |
| 2 |  2  | texts |     3 |
| 3 |  1  | world |     5 |
| 4 |  1  | null  |     4 |
| 5 |  2  | null  |     4 |

选择*,sum(value)作为表格组中的suma by cod给出这个结果

| cod |  word | suma  |
|  1  | null  |    11 | 
|  2  | null  |    7  |

但我需要这个结果:

   | cod |  word  | suma |
   |  1  | world  |   11 |
   |  2  | texts  |   7  |

获取此内容的正确mysql查询是什么?

感谢

1 个答案:

答案 0 :(得分:0)

如果您需要100%确定使用此:

SELECT cod, word, SUM(value) AS suma FROM test WHERE word IS NOT NULL GROUP BY cod 

BUT:

enter image description here

我刚试过它。这与您的表格相同,与您提到的表格相同。