【问题标题】:Count the transactions from each with the status CANCELLED per day每天计算每个状态为 CANCELED 的事务
【发布时间】:2022-01-29 14:42:24
【问题描述】:
| id | status    | Transaction date    | Vendor    | Customer ID          |
|  1 | Completed | 2019-11-15 11:46:11 | Vendor A  | 12345                |
|  2 | Completed | 2019-11-14 23:03:24 | Vendor B  | 67891                |
|  3 | Completed | 2019-11-15 12:04:13 | Vendor C  | 456                  |
|  4 | Cancelled | 2019-11-14 11:46:11 | Vendor A  | 22225                |
|  5 | Cancelled | 2019-11-20 23:03:24 | Vendor B  | 789999               |
|  6 | Cancelled | 2019-11-20 12:04:13 | Vendor C  | 789999               |

你能帮我计算每个供应商每天的交易状态为 CANCELED 吗? 我正在尝试但失败了

EXPECTATION

Transaction date    | Vendor    | TOTAL TRANSACTION
2019-11-14          | Vendor A  | 1
2019-11-20          | Vendor B  | 1
2019-11-20          | Vendor C  | 1

【问题讨论】:

  • 由于 SQL 包含数据定义,minimal reproducible example 应包含用于示例表的 DDL 语句(而不是临时表规范)和用于示例数据的 DML 语句(而不是转储或ad hoc 格式)。有关how to ask good questions 和许多其他有用主题的更多信息,请参阅帮助中心。
  • 问题陈述应包括预期结果和实际结果。
  • oke @outis,我把我的期望,你能帮我吗?
  • 期望不计算被取消的交易...
  • 这似乎措辞不好您是否根据供应商和日期时间将取消与完成匹配以达到计数?而且您不在乎输出中的客户ID?

标签: mysql sql


【解决方案1】:

似乎您想要以下内容,这不是您所要求的。这是一个简单的GROUP BY

SELECT date(transaction_date), vendor, count(*)
FROM table
WHERE status = 'Cancelled'
GROUP BY transaction_date, vendor

【讨论】:

  • 谢谢大家,我正在使用这个SELECT DATE(transaction_date) as "Transaction date", Vendor, COUNT(*) as "TOTAL TRANSACTION" FROM transactions_server.transactions WHERE status = "CANCELLED" GROUP BY DATE(transaction_date);
  • @xylazer 如果您按日期分组,如果几天内有多个供应商,这将不起作用
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-01-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-10-13
相关资源
最近更新 更多