【问题标题】:How to select 1 column value based on a condition in SQL如何根据 SQL 中的条件选择 1 列值
【发布时间】:2020-12-18 11:36:38
【问题描述】:

我有一张桌子

Date trial value
2020-12-10 false 100
2020-12-10 true 200
2020-12-11 false 150
2020-12-11 true 350

我想要结果

Date total value1
2020-12-10 300 100
2020-12-11 500 150

其中 value1 是 trial=false 时的值。 执行此操作的 SQL 查询是什么? 提前致谢

【问题讨论】:

    标签: sql


    【解决方案1】:

    您可以使用条件聚合:

    select date, sum(value),
           sum(case when trial = 'false' then value end) as value1
    from t
    group by date;
    

    注意:如果您的数据库支持布尔值并且trial 是布尔值,那么:

           sum(case when trial then value end) as value1
    

    【讨论】:

      【解决方案2】:

      您可以使用条件聚合:

      select date, sum(value) as total,
          sum(case when trial = 'false' then value else 0 end) as value1
      from mytable
      group by date
      

      【讨论】:

        【解决方案3】:

        你可以在select子句中使用case语句:

        选择
        ..., ColumnA > x 的情况 然后是 A 列 其他列B 以 C 结尾 来自...

        更多详情请访问:http://msdn.microsoft.com/en-us/library/ms181765.aspx

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2019-07-30
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多