我的程序,让我们用户指出,他是否是一名老年人。我想要生成一份报告,显示有多少用户是老年人,多少人不是,每月和每年。
示例:
用户总数:20 000人
2月份登记的老年人总数:1 000人
登记的老年人总数.:1 000人
..。
2017年登记的老年人总数:10 000人
在今后的几年里,在我的数据库中不需要创建一个表,还有没有其他替代方法来实现这一点呢?
发布于 2017-11-01 14:13:51
这里有几个不同的组。
获得总计数是最简单的,因为您只是得到整个表的COUNT:
SELECT
COUNT(`name`) AS `TotalRegistered`
FROM
`User`;按月(和年)分列的分组如下:
SELECT
YEAR(`dateregistered`) AS `Year`,
MONTH(`dateregistered`) AS `Month`,
COUNT(`name`) AS `NumberRegistered`
FROM
`User`
GROUP BY -- Since you want the values counted by year then month
YEAR(`dateregistered`) AS `Year`,
MONTH(`dateregistered`) AS `Month`
ORDER BY -- To order the actual results
YEAR(`dateregistered`) AS `Year`,
MONTH(`dateregistered`) AS `Month`;顺便说一句,您应该有一个您在这里似乎没有包含的主键,并且您的dateregistered应该是DATETIME或TIMESTAMP格式。
https://stackoverflow.com/questions/47054292
复制相似问题