gpt4 book ai didi

mysql连接问题

转载 作者:行者123 更新时间:2023-11-29 14:46:35 25 4
gpt4 key购买 nike

这可能真的很简单,但我遇到了麻烦。我之前问过一个关于查询的问题 ( MySql Query help ),答案是创建另一个表并将其与我当前的查询连接起来。因此,我创建了一个临时表并将其与我的查询连接起来,但得到了相同的结果。

概述:我有一个日期表,其中包含过去 30 天的日期,每个条目的值为 0

+------+------------+
| Zero | Date |
+------+------------+
| 0 | 2011-07-27 |
| 0 | 2011-07-26 |
| 0 | 2011-07-25 |
| 0 | 2011-07-24 |
| 0 | 2011-07-23 |
| 0 | 2011-07-22 |
...etc

我正在尝试将此表与查询连接起来,我做了另一个表来获取这些结果:

+-------------------+-----------+
| Past-Month-Builds | Month-Day |
+-------------------+-----------+
| 53 | 6-27 |
| 103 | 6-28 |
| 91 | 6-29 |
| 70 | 6-30 |
| 76 | 7-1 |
| 8 | 7-2 |
| 77 | 7-5 |
| 111 | 7-6 |
| 67 | 7-7 |
| 70 | 7-8 |
| 2 | 7-9 |
| 3 | 7-10 |
| 87 | 7-11 |
| 53 | 7-12 |
| 49 | 7-13 |
| 84 | 7-14 |
| 126 | 7-15 |
| 3 | 7-16 |
| 8 | 7-17 |
| 98 | 7-18 |
| 114 | 7-19 |
| 841 | 7-20 |
| 206 | 7-21 |
| 738 | 7-22 |
| 2 | 7-23 |
| 65 | 7-25 |
| 39 | 7-26 |
| 21 | 7-27 |
+-------------------+-----------+

请注意,缺少了几天,我希望当那天没有任何构建时,过去一个月的构建列显示 0。

这是我尝试使用的查询:

SELECT
COUNT(id) AS 'Past-Month-Builds',
CONCAT(MONTH(builds.submittime), '-', DAY(builds.submittime)) as 'Month-Day'
FROM builds
RIGHT JOIN dates ON DATE(builds.submittime) = dates.Date
WHERE DATE(builds.submittime) >= DATE_SUB(CURDATE(), INTERVAL 30 day)
GROUP BY MONTH(submittime), DAY(submittime);

有点迷失,任何帮助都会很棒谢谢。

最佳答案

更改查询,使 dates 成为主表,并对 builds 表使用左外连接

此外,请将与构建表相关的任何条件从 WHERE 子句移至 ON 子句,因为这是可选表。

关于mysql连接问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6849555/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com