mysql获取列数不断变化的表

时间:2016-01-28 09:06:37

标签: mysql

在我的数据库中,我有2个表:用户和帐户。每个用户都带了几个帐户。 (用户具有UserID,帐户具有UserID,AccountID和createTime)

我需要获取一个显示我的用户统计信息的SQL查询:每个的表格是每个月创建的帐户数量,而是用户名。

我可以这样做吗?

2 个答案:

答案 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)

这将为您计算每个用户在一个月内开设的帐户数。