当前位置: 首页 > 面试题库 >

MySQL行成列数和总和

呼延运恒
2023-03-14
问题内容

有人可以帮忙我的SQL吗?

我有一个表,其中包含诸如:

ID | Car_num | Service | Price
---+---------+---------+------
1  | 001     | shower  | 10
2  | 002     | TV      |  5
3  | 001     | TV      |  5

如何编写SQL查询以获取以下输出?

ID |Car_num | shower | TV
---+--------+--------+---
1  | 001    | 10     | 5
2  | 002    |  0     | 5

问题答案:

试试这个:

SELECT ID, Car_num
   , SUM(IF(Service = 'shower', Price, 0)) AS Shower
   , SUM(IF(Service = 'TV', Price, 0)) AS TV
FROM your_table
GROUP BY Car_num;


 类似资料:
  • 问题内容: 这个问题已经在这里有了答案 : 如何在MySQL中返回数据透视表输出? (8个答案) 6年前关闭。 我在将行移至列和将列移至行时遇到问题。如果只是将行转置为列或将列转置为行,则可以这样做。 这是我的数据表 我想得到以下输出 等等.. 有人知道该怎么做吗?非常感谢! 问题答案: 你可以这样 输出: 这是 SQLFiddle 演示

  • 问题内容: 我有一个具有许多行的mysql表,并且在每一行中都有一个称为“值”的字段,该字段的值在行与行之间会有所不同。我想要的是选择所有行并计算所有“值”字段的总和。 任何的想法? 问题答案: 你是这个意思吗 如果您有多个要返回的列,只需将每个非聚合(即求和)行添加到子句中:

  • 我被一些查询逻辑困住了。我有一个名为<code>student</code>的表。表上有每个学期学生的分数。有学期数。我需要得到每学期最高分数(mark1 mark2 mark3)的学生的姓名和id。 这是我的桌子结构 所需输出 我想让Maxmark

  • 问题内容: 我有一张收入表 当我执行此查询 它产生结果 没关系,现在我想将求和结果与另一个具有这种结构的表合并 当我执行这样的聚合函数加入时 结果翻倍 我不明白为什么加倍,请帮忙 问题答案: 它翻倍,因为您在基金和收入表中重复了标题。这将匹配的记录数相乘。如果删除聚合函数并查看原始数据,这很容易看到。看这里 解决此问题的方法是创建聚合的内联视图,并加入这些结果。 输出 演示

  • 我有两个mysql表: 我想从表:loan中获取“loan\u amount”的和,从表:advance中获取“advance\u amount”的和,在一个由内部联接连接的mysql查询中。 如何从两个表的列中求和?

  • 问题内容: 我有2列,像这样: 我想对金额求和,以获得结果 到目前为止,我已经尝试过(但失败了)的是: 问题答案: 删除中的单引号。它使列名转换为字符串。