mysql - SQL:能否选择一列中的内容作为新表中的新列?

标签 mysql sql

举个例子: 输入:

company    amount     vendor    ID(ai)
  A1        100         B1        1
  A2        150         B1        2
  A3        200         B2        3
  A1        100         B3        4

输出:

vendor   A1      A2      A3     Total
  B1     100     150     NULL   250
  B2     NULL    NULL    200    200
  B3     100     NULL    NULL   100

最佳答案

看起来你想要条件聚合:

select vendor,
       sum(case when company = 'A1' then amount end) as a1,
       sum(case when company = 'A2' then amount end) as a2,
       sum(case when company = 'A3' then amount end) as a3,
       sum(amount) as total
from t
group by vendor;

关于mysql - SQL:能否选择一列中的内容作为新表中的新列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52483105/

相关文章:

php - 真正简单的 PHP/PDO 插入不起作用?

sql - 将 SELECT 的行折叠成字符串的最佳方法是什么?

java - JOOQ 如何在不展平属性的情况下获取连接到 POJO 的结果?

mysql - 日期时间 DATE DIFF 未按预期工作

PHP & Wordpress : How do I display a list of all users who have completed a custom user meta field, 省略那些字段留空的地方?

mysql - 如何使用模块修改 Drupal 7.x 中 View 的输出

mysql - Laravel - 未找到列 : 1054 Unknown column 'vw_winning_report.id'

sql - 针对一年中的季度或周运行查询

mysql - SQL 与 MySQL : Rules about aggregate operations and GROUP BY

mysql - 我怎样才能加入这两个选择语句?