首页 > 解决方案 > 如何显示一个月内每一天的多个结果计数

问题描述

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

插座表

插座表

订单表

订单表

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

预期结果

在此处输入图像描述

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

正如你在这里看到的:

询问

没有状态_1

结果如下:

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

标签: mysqlsqlphpmyadmin

解决方案


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检查


推荐阅读