Radzhab Asked:2022-10-01 15:25:29 +0000 UTC2022-10-01 15:25:29 +0000 UTC 2022-10-01 15:25:29 +0000 UTC 如何根据列中的值对数据求和 772 我有一个scrap有 4 列的表 scrap id: integer number: integer type: integer mass: float 数据 输出应该是一个新表,其中将有 mass_t mass_k 其中mass_t是所有质量的总和,以及mass_k所有 的总和mass,其中type=5。最后应该是 mass_t mass_k 37.55 7.25 我脑子里只有一个想法case,但我不完全明白如何去做 sql 2 个回答 Voted Best Answer Akina 2022-10-01T15:45:36Z2022-10-01T15:45:36Z 这是一个适用于几乎所有 DBMS 的实现: SELECT SUM(mass) AS mass_t, SUM(CASE WHEN type = 5 THEN mass ELSE 0 END) AS mass_k FROM scrap; JavaJunior 2022-10-01T15:35:18Z2022-10-01T15:35:18Z 由于未指定数据库类型,因此将实现保留在 PostgresSQL 中: select sum(mass) mass_t, sum(mass) filter (where type = 5) mass_k from scrap;
这是一个适用于几乎所有 DBMS 的实现:
由于未指定数据库类型,因此将实现保留在 PostgresSQL 中: