【问题标题】:How to show multiple results count for each day in one month如何显示一个月内每一天的多个结果计数
【发布时间】:2021-11-06 00:03:07
【问题描述】:

我不熟悉查询语言,尤其是 mysql。所以我有一个测试项目,它有 2 个包含一些虚拟数据的表。这是表格:

插座桌

订单表

我想计算状态,将其分为两个不同的列,状态和状态_1。状态 1 的条件是 order.status = 1 并且对于 status_1 = 2。下图是预期结果

预期结果

我只尝试过这个因为我不知道如何获取 status_1 值

如您所见:

没有状态_1

结果如下:

有人可以帮我解决这个问题吗?或者给点线索?还是不明白这个逻辑

【问题讨论】:

  • 请编辑您的问题,删除图片并将其作为文本发布。
  • 我认为您的预期输出是错误的。因为对于日期“2021-08-01”,状态 2 存在。所以结果将 status_1 = 0 和 status_1 = 1
  • 谢谢拉胡尔。我忘了把它改成 1。假设值是 1,我怎样才能得到 status_2 值?
  • 对不起,我是新来的
  • 请提供足够的代码,以便其他人更好地理解或重现问题。

标签: mysql sql phpmyadmin


【解决方案1】:

count() 函数中用于检索所需结果的用例语句。

-- MySQL
SELECT o.name, od.tdate
     , COUNT(CASE WHEN od.status = 1 THEN 1 END) status_1
     , COUNT(CASE WHEN od.status = 2 THEN 1 END) status_2
FROM outlet_tbl o
INNER JOIN order_tbl od
        ON o.id = od.outlet_id
GROUP BY o.name, od.tdate 

请从https://dbfiddle.uk/?rdbms=mysql_8.0&fiddle=d7c74940fccf9149132dfc4e90072d06查看

【讨论】:

  • @RizkyPrasetya 请检查此结果。
  • 感谢您的帮助,很抱歉打扰您。我会尽快在我的项目中实现它
  • 欢迎@RizkyPrasetya。如果此答案对您有帮助,请标记为已接受(绿色勾号)并进行投票,以便其他人在必要时可以毫无疑问地选择此答案。
猜你喜欢
  • 2023-03-27
  • 1970-01-01
  • 2019-01-31
  • 2016-12-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多