Php 查找特定日期范围内每天的票证总数

Php 查找特定日期范围内每天的票证总数,php,mysql,sql,database,Php,Mysql,Sql,Database,我正在尝试编写一个查询,该查询将允许我执行以下操作: “查找特定日期范围内每天打开和关闭的票证总数” 这是我到目前为止得到的 SELECT COUNT(tikcet_id) as totalTickets, COUNT(CASE WHEN ticket_status = 'Complete' THEN 1 ELSE NULL END) as closedTickets, DATE(ticket_date) FROM tickets WHERE (DATE(tick

我正在尝试编写一个查询,该查询将允许我执行以下操作:

“查找特定日期范围内每天打开和关闭的票证总数”

这是我到目前为止得到的

SELECT
COUNT(tikcet_id) as totalTickets, 
COUNT(CASE WHEN ticket_status = 'Complete' 
      THEN 1 
      ELSE NULL END) as closedTickets,
DATE(ticket_date)
FROM tickets 
WHERE (DATE(ticket_date) BETWEEN DATE('2014-07-18') AND DATE('2014-07-30'))
GROUP BY ticket_date
这就是我得到的结果,它很好地计算了票数,只是没有按照我想要的方式进行分组

TotalTickets| ClosedTickets| ticket_date
           1|             0| 2014-07-21 10:00:00
           1|             0| 2014-07-21 10:21:21
           0|             1| 2014-07-21 11:45:12
           0|             1| 2014-07-22 09:21:24
           0|             1| 2014-07-22 09:43:23
我希望将它们按天分组,因此,例如,我应该能够看到这样的内容:

TotalTickets| ClosedTickets| ticket_date
           2|             1| 2014-07-21
           2|             0| 2014-07-22
做这个

GROUP BY DATE(ticket_date)
而不是

GROUP BY ticket_date
您在
SELECT
子句中已经做对了

顺便说一句,这是一个简短的写作方式

COUNT(CASE WHEN ticket_status = 'Complete' 
      THEN 1 
      ELSE NULL END) as closedTickets,


布尔表达式的计算结果为
true
false
1
0

以下是您要查找的内容:使用此分组命令时会发生什么情况
按日期分组(票证日期)
非常感谢。我还有一个问题,有没有一种方法可以展示那些根本没有门票的日子?我目前只收到有记录天数的结果。你不能选择没有记录的天数。要么在应用程序级别解决它,要么创建一个只包含日期的表,然后左键联接它。
SUM(ticket_status = 'Complete') as closedTickets,