在我的数据库中,我有2个表:用户和帐户。每个用户都带了几个帐户。 (用户具有UserID,帐户具有UserID,AccountID和createTime)
我需要获取一个显示我的用户统计信息的SQL查询:每个行的表格是每个月创建的帐户数量,而列是用户名。
我可以这样做吗?
答案 0 :(得分:2)
以下内容适用于您:
SELECT UserId, DATE_FORMAT(CreatedTime, '%Y-%m'), COUNT(*) AS numAccountsPerUserPerMonth
FROM accounts
WHERE YEAR(createTime) = 2016
GROUP BY UserId, DATE_FORMAT(CreatedTime, '%Y-%m')
ORDER BY DATE_FORMAT(CreatedTime, '%Y-%m') DESC, UserId
答案 1 :(得分:2)
这应该做你想要的:
SELECT UserId, YEAR(createTime) as YEAR, MONTH(createTime) as MONTH, COUNT(*) AS accCounter
FROM accounts
GROUP BY UserId, YEAR(createTime), MONTH(createTime)
这将为您计算每个用户在一个月内开设的帐户数。