【发布时间】:2021-04-07 09:48:44
【问题描述】:
我很困惑为什么我的查询没有返回我想要的东西。有人可以帮我解决这个问题吗?
查询(CTE):
WITH cancel AS(
SELECT t.Request_at AS day, IFNULL(COUNT(t.Status),0) AS cancelled
FROM Trips t
LEFT JOIN Users u
ON t.Client_Id = u.Users_Id
WHERE (t.Status = "cancelled_by_driver" or t.Status = "cancelled_by_client")
AND t.Request_at BETWEEN "2013-10-01" AND "2013-10-03"
AND u.Banned = "No"
GROUP BY t.Request_at)
所以我在这里想要的是让我上面的 cte 返回 2013 年 10 月 1 日至 2013 年 10 月 3 日期间未被禁止的用户或司机取消的旅行次数。我的查询返回正确的数字对于已取消但未在未取消的日期返回“0”的日期。我不知道为什么结果是这样的,因为我已经使用了 IFNULL 并且已经使用了左连接。
【问题讨论】:
-
请放。您在问题中的查询作为文本。
-
嗨,Gordan,我只是将它们作为文本输入。
标签: mysql sql datetime pivot aggregate-functions