在同一列中查询3个不同的值

古铁雷

我正在努力以所需的格式提取数据,但直到现在仍不成功。

我有下表

id_ticket,date_ticket,office_ticket,status_ticket

我需要查询来返回我,每个月一次,并且总是在同一办公室:

  • 任何状态的票数(COUNT)
  • 状态为5的票数(COUNT)
  • 状态为6的票数(COUNT)

我仅返回具有任何状态的票证总数的查询就是这个。有效!

SELECT
COUNT (id_ticket) as TotalTicketsPerMonth,
'sYear' = YEAR (date_ticket),
'sMonth' = MONTH (date_ticket)
FROM crm_vw_Tickets
WHERE office_ticket = 1
GROUP BY
YEAR (date_ticket), MONTH (date_ticket)
ORDER BY sYear ASC, sMonth ASC

返回状态为5的票证总额

SELECT
COUNT (id_ticket) as TotalTicketsPerMonth,
'sYear' = YEAR (date_ticket),
'sMonth' = MONTH (date_ticket)
FROM crm_vw_Tickets
WHERE office_ticket = 1 AND status_ticket = 5
GROUP BY
YEAR (date_ticket), MONTH (date_ticket)
ORDER BY sYear ASC, sMonth ASC

但我需要返回的内容如下:

Year Month Total Status5 Status6
2018   1     15      5        3

2018   2     14      4        5

2018   3     19      2        8

感谢您的帮助。

内维尔

你近了 您可以使用CASE表达式来获取所需的内容:

SELECT
    COUNT (id_ticket) as TotalTicketsPerMonth,
    SUM(CASE WHEN status_ticket = 5 THEN 1 END) as Status5,
    SUM(CASE WHEN status_ticket = 6 THEN 1 END) as Status6,
    'sYear' = YEAR (date_ticket),
    'sMonth' = MONTH (date_ticket)
FROM crm_vw_Tickets
WHERE office_ticket = 1
GROUP BY YEAR (date_ticket), MONTH (date_ticket)
ORDER BY sYear ASC, sMonth ASC

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

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

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

在一个 SQL 查询中对同一列中相同类型的不同值求和

从同一查询的同一列中获取两个值

SQL:使用3个不同的where子句查询同一列3次

如何在单个查询中更新mysql中同一列中的不同值?

当只知道一个值时,从同一列中获取不同的值

如何从同一张表中查询同一列但条件不同的两个不同的总和?

SQL查询以选择在同一列中具有不同值的子记录的父项

从1个表中返回的mysql查询返回不同条件的同一列的总和

如何计算同一列中的两个不同的列值?

在同一列中的MySQL查询不同的日期

选择在同一列中具有两个不同值的行

在csv的同一列中添加两个不同的值

如何从 SQL 连接中的同一列返回两个不同的值?

如何在 MySQL 中获取同一列的两个不同值

将不同的值分组在同一列中

在同一列中合并2个不同的中值

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

加入两个查询,这些查询由相同表中的同一列分组,但要加入的参数不同

如何查询以针对 2 个相邻日期检查一列中的不同值?

如何通过在python中添加同一列的2个不同行值的值来估算特定行值

同一列中的两个值

比较同一列中的两个值

mysql 查询中 2 个不相关表的同一列中的唯一值

MySQL的 - 在一列在同一个表创建表中的每个不同值的新行

计算一列可以采用的3个不同值

如何从同一表的同一列中获取不同的值-Oracle

根据另一列在一个列中过滤数据值,然后将值插入同一SQL表中的不同列

ORACLE - 如何从一列中显示 3 个不同的值

如何选择具有不同日期条件的同一列值并在同一查询中显示为column1和column2