【问题标题】:sql How to achive this view tablesql如何实现这个查看表
【发布时间】:2015-12-06 16:33:30
【问题描述】:

我想从下表中实现这个视图。

(a) 我想得到两列,其中 group1 具有不同的值,其中 c3= yes 和 group2,其中它根据 group1 具有 sum(c2)。

(b) 第 3 组是根据 group1 的 sum(c4) 和 group4 是根据第 1 组的 sum(c5) 。怎么做?

c1   |   c2   | c3   | c4 | c5
--------------|---------------
A    |   2    |yes   | 1   | 2
B    |   1    |yes   | 2   | 1
A    |   2    |yes   | 1   | 2
B    |   1    |yes   | 2   | 1
C    |   2    |no    | 4   | 4
C    |   1    |no    | 4   | 4




result :


group1 | group2| group3| group4
--------------------------------
A      | 4     | 2     | 4
B      | 2     | 4     | 2

a 部分已通过此查询解决

SELECT c1 as group1, SUM(c2) as group2 FROM table 
WHERE c3="yes"
GROUP BY c1

由 Theo Babilon 回答

但是如何解决 b 部分并获得完整的视图?

【问题讨论】:

    标签: mysql sql


    【解决方案1】:
    SELECT c1 as group1, SUM(c2) as group2, SUM(c4) as group3, SUM(c5) as group4
    FROM table
    WHERE c3 = "yes"
    GROUP BY c1
    

    【讨论】:

    • 感谢工作,但我现在有一个问题,我在不同的问题上发帖,请看一下
    【解决方案2】:

    使用这个查询

    SELECT c1 as group1, SUM(c2) as group2, SUM(c4) as group3, SUM(c5) as group4
    FROM table
    WHERE c2 = 'yes'
    GROUP BY c1
    

    【讨论】:

    • 你只缺少 c3 而不是 c2 它应该 c3 ,否则工作
    • @Muhammad muazzam:我在那个答案前 30 秒回答了
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-05-10
    • 1970-01-01
    相关资源
    最近更新 更多