具有不同 where 子句的两个 SQL Server 查询

科里

我正在尝试合并两个非常相似的查询。唯一不同的是在WHERE子句中:

SELECT
    CONVERT(VARCHAR(10), Date, 101) as Date,
    COUNT(*) as WinnerCount
FROM
    table t1
WHERE
    t1.Result = 'Winner'
GROUP BY
    CONVERT(VARCHAR(10), Date, 101)

第二个带有Loser条款:

SELECT
    CONVERT(VARCHAR(10), Date, 101) as Date,
    COUNT(*) as LoserCount
FROM
    table t1
WHERE
    t1.Result = 'Loser'
GROUP BY
     CONVERT(VARCHAR(10), Date, 101)

我想要实现的是获得这样的结果集:

Date       |    WinnerCount    | LoserCount
01/01/2017       24                  16
17/02/2017       13                  9

我试图将其与 join 合并为两个结果集:

SELECT
    FirstSet.Date
FROM 
    (SELECT
         CONVERT(VARCHAR(10), Date, 101) as Date,
         COUNT(*) as Count
     FROM
         table t1
     WHERE
         t1.Result = 'Winner'
     GROUP BY
         CONVERT(VARCHAR(10), Date, 101)) AS FirstSet
JOIN
    (SELECT
         CONVERT(VARCHAR(10), Date, 101) as Date,
         COUNT(*) as Count
     FROM
         table t1
     WHERE
         t1.Result = 'Loser'
     GROUP BY
         CONVERT(VARCHAR(10), Date, 101)) AS SecondSet ON FirstSet.Date = SecondSet.Date
ORDER BY 
    FirstSet.Date

但结果我只有日期:/

拉杰库马尔

您可以使用此查询。Insted 计算所有行,您可以求和所有出现的所需文本(在这种情况下,*Winner”或“Loser”)。

SELECT
    CONVERT(VARCHAR(10), Date, 101) as Date,
    SUM(CASE WHEN t1.Result = 'Winner' THEN 1 ELSE 0 END) as WinnerCount,
    SUM(CASE WHEN t1.Result = 'Loser' THEN 1 ELSE 0 END) as LoserCount
from table t1
where t1.Result in ( 'Winner', 'Loser')
group by
    CONVERT(VARCHAR(10), Date, 101)

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

SQL Server 2012-在WHERE子句下具有两个条件的递归CTE

来自分类Dev

一个查询中有两个SQL求和,其中包含两个where子句

来自分类Dev

合并来自同一表但具有不同WHERE子句的两个SELECT查询

来自分类Dev

在同一表上具有不同where子句的两个选择查询

来自分类Dev

合并来自同一表但具有不同WHERE子句的两个SELECT查询

来自分类Dev

如何组合具有不同 set 和 where 子句的两个更新查询?

来自分类Dev

具有两个like子句的SQL查询

来自分类Dev

具有不同where子句的多个sql查询

来自分类Dev

UNION与带有大WHERE子句的两个查询

来自分类Dev

带有两个 where 子句的子查询

来自分类Dev

结合两个具有不同 WHERE 条件的查询

来自分类Dev

具有相同WHERE子句的同一个表上的两个不同查询

来自分类Dev

具有两个不同ID的SQL查询

来自分类Dev

SQL Server:如何提高WHERE子句中具有多个CTE和子查询的查询的性能

来自分类Dev

SQL查询使用同一个表比较两个WHERE子句

来自分类Dev

合并2个具有不同WHERE子句的查询

来自分类Dev

如何使用WHERE子句查询两个日期范围之间的数据?-SQL

来自分类Dev

如何在 SQL 查询中使用两个 where 子句

来自分类Dev

“ WHERE”子句中具有NEWID()的奇数SQL Server(TSQL)查询结果

来自分类Dev

具有WHERE子句和Null的SQL Server参数化查询

来自分类Dev

“ WHERE”子句中具有NEWID()的奇数SQL Server(TSQL)查询结果

来自分类Dev

合并两个 sql 查询,每个查询都有一个 with 子句

来自分类Dev

SQL Server查询-Where子句的最佳实践

来自分类Dev

使用多个where子句的SQL Server查询

来自分类Dev

如何优化SQL Server查询的where子句

来自分类Dev

在where子句中具有相关子查询的SQL查询

来自分类Dev

SQL Server - 检查 where 子句中两个日期之间的日期字段

来自分类Dev

SQL Server查询从具有多个条件的两个表中检索数据

来自分类Dev

为什么在 oracle SQL 中,在 where 条件差异很大的情况下,对同一列执行具有两个不同值的查询所花费的时间

Related 相关文章

  1. 1

    SQL Server 2012-在WHERE子句下具有两个条件的递归CTE

  2. 2

    一个查询中有两个SQL求和,其中包含两个where子句

  3. 3

    合并来自同一表但具有不同WHERE子句的两个SELECT查询

  4. 4

    在同一表上具有不同where子句的两个选择查询

  5. 5

    合并来自同一表但具有不同WHERE子句的两个SELECT查询

  6. 6

    如何组合具有不同 set 和 where 子句的两个更新查询?

  7. 7

    具有两个like子句的SQL查询

  8. 8

    具有不同where子句的多个sql查询

  9. 9

    UNION与带有大WHERE子句的两个查询

  10. 10

    带有两个 where 子句的子查询

  11. 11

    结合两个具有不同 WHERE 条件的查询

  12. 12

    具有相同WHERE子句的同一个表上的两个不同查询

  13. 13

    具有两个不同ID的SQL查询

  14. 14

    SQL Server:如何提高WHERE子句中具有多个CTE和子查询的查询的性能

  15. 15

    SQL查询使用同一个表比较两个WHERE子句

  16. 16

    合并2个具有不同WHERE子句的查询

  17. 17

    如何使用WHERE子句查询两个日期范围之间的数据?-SQL

  18. 18

    如何在 SQL 查询中使用两个 where 子句

  19. 19

    “ WHERE”子句中具有NEWID()的奇数SQL Server(TSQL)查询结果

  20. 20

    具有WHERE子句和Null的SQL Server参数化查询

  21. 21

    “ WHERE”子句中具有NEWID()的奇数SQL Server(TSQL)查询结果

  22. 22

    合并两个 sql 查询,每个查询都有一个 with 子句

  23. 23

    SQL Server查询-Where子句的最佳实践

  24. 24

    使用多个where子句的SQL Server查询

  25. 25

    如何优化SQL Server查询的where子句

  26. 26

    在where子句中具有相关子查询的SQL查询

  27. 27

    SQL Server - 检查 where 子句中两个日期之间的日期字段

  28. 28

    SQL Server查询从具有多个条件的两个表中检索数据

  29. 29

    为什么在 oracle SQL 中,在 where 条件差异很大的情况下,对同一列执行具有两个不同值的查询所花费的时间

热门标签

归档