我在数据库中构建了一个表,在成功登录网站后插入登录号和时间戳。
我通过UNIX_TIMESTAMP
我现在需要构建一个查询来计算给定月份内每个用户的登录次数。踢球者是我只想跟踪用户在给定月份登录的天数,而不是实际登录计数。
这是我开始的查询,但我不需要总登录次数,只需要每个用户登录的每月天数:
SELECT login, COUNT(DAY(FROM_UNIXTIME(datestamp)))
FROM logincount
GROUP BY login
答案 0 :(得分:1)
我相信你想要COUNT(DISTINCT)
。
另外,如果您希望每月计算一次,可以将MONTH
函数添加到SELECT
和GROUP BY
SELECT
login,
MONTH(FROM_UNIXTIME(datestamp)) AS MonthOfYear,
COUNT(DISTINCT DAY(FROM_UNIXTIME(datestamp))) AS DaysInMonth
FROM logincount
GROUP BY login, MONTH(FROM_UNIXTIME(datestamp))
答案 1 :(得分:0)
您可以使用:
SELECT login,count(a) FROM (SELECT login, DAY(FROM_UNIXTIME(datestamp) AS a FROM logincount) sq GROUP BY login;
获取每次登录的天数。