我还不知道如何使用连接,每当我尝试使用连接时,我的查询都无效。
我想要的是显示按天分组的用户。
TABLE USER
但如果有一天没有注册会怎么样?那天没有显示,但我想让它显示出来。
select COUNT(a.user_id) as count1, a.register_date as count2
from user a
left outer join user b on a.user_id = b.user_id
GROUP BY a.register_date
我尝试从一些示例中调整我想要的内容,但之前的查询不起作用,因为它没有显示所有日期。
我的内容如下:
COUNT - > DATE
答案 0 :(得分:3)
你正在做的JOIN是不必要的,因为它没有给你任何额外的信息,而不是你会这样做:
select COUNT(a.user_id) as count1,
a.register_date
from user a
group by a.register_date
这应该为您提供表中每个register_date中的用户数。如果没有注册,这样的事情将无效。
您必须以某种方式将日期提供给它,然后使用表USERS的LEFT JOIN来获取COUNT是合适的。例如,您可以执行一个包含您要查询的所有日期的表名为dateTable:
SELECT t1.date,COUNT(a.user_id)
FROM dateTable t1
LEFT JOIN users a ON t1.date = a.register_date
GROUP BY t1.date;
有关如何在Google上创建日历表或google sql日历表的说明,请参阅this question。关于这个主题有很多有用的信息。