欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

MySQL中ROLLUP的替代方法

程序员文章站 2022-04-21 17:22:42
...

欢迎进入Linux社区论坛,与200万技术人员互动交流 >>进入 今天从MySQL中提取数据,使用ROLLUP统计后,想在数据左边列中加入项目名称,使用SQL Sql代码 SELECT (CASE WHEN ISNULL(PLAYERNO) THEN PLAYERNO=TOTAL ELSE PLAYERNO END) AS PLAYERNO,SUM(AMO

欢迎进入Linux社区论坛,与200万技术人员互动交流 >>进入

  今天从MySQL中提取数据,使用ROLLUP统计后,想在数据左边列中加入项目名称,使用SQL

  Sql代码

  SELECT (CASE WHEN ISNULL(PLAYERNO) THEN PLAYERNO=TOTAL ELSE PLAYERNO END) AS PLAYERNO,SUM(AMOUNT) FROM penalties

  GROUP BY PLAYERNO WITH ROLLUP

  结果是:

  这样

  +----------+-------------+

  | PLAYERNO | SUM(AMOUNT) |

  +----------+-------------+

  | 6 | 100.00 |

  | 8 | 25.00 |

  | 27 | 175.00 |

  | 44 | 130.00 |

  | 104 | 50.00 |

  | NULL| 480.00 |

  +----------+-------------+

  6 rows in set, 1 warning (0.00 sec)

  显示为空值,修改如下:

  Sql代码

  SELECT PLAYERNO,SUM(AMOUNT) FROM penalties

  GROUP BY PLAYERNO

  UNION

  SELECT TOTAL,SUM(AMOUNT)

  FROM penalties

  显示结果:

  +----------+-------------+

  | PLAYERNO | SUM(AMOUNT) |

  +----------+-------------+

  | 6 | 100.00 |

  | 8 | 25.00 |

  | 27 | 175.00 |

  | 44 | 130.00 |

  | 104 | 50.00 |

  | TOTAL | 480.00 |

  +----------+-------------+

  6 rows in set (0.00 sec)

MySQL中ROLLUP的替代方法