MySQL:GROUP BY并使用此组中下一行的值填充空单元格

时间:2017-05-13 06:12:58

标签: mysql group-by

我有一个包含产品和多个类别(超过2个)的表,与此类似:

| category1 | category2 |  product  | option | count|
|  winter   |  summer   |  goodyear |    1   |   2  |
|  winter   |  summer   |  goodyear |    2   |   2  |

我想要实现的是GROUP BY'product'和'option',但同时用这个组中下一行的内容填充空单元格。我希望得到的结果是:

50

是否可以通过MySQL查询获得此类结果?

1 个答案:

答案 0 :(得分:1)

不仅如此:

select
  max(category1) as category1,
  max(category2) as category2,
  product,
  option,
  count(*)
from mytable
group by product, option;

使用聚合(GROUP BY),您必须始终指定如何聚合您选择的其他值(例如,您是否需要最大值或最小值等)。 MAXMIN都忽略空值,因此您可以获得您感兴趣的值。