Java 如何跟踪每月和每年的数据数量?
我的程序让用户指出他是否是高年级学生。我想生成一个报告,显示每月和每年有多少用户是老年人,有多少不是老年人 例如: 用户总数:20000 2月份登记的老年人总数:1000人 年月注册的老年人总数:1000 2017年注册老年人总数:10000人Java 如何跟踪每月和每年的数据数量?,java,mysql,sql,Java,Mysql,Sql,我的程序让用户指出他是否是高年级学生。我想生成一个报告,显示每月和每年有多少用户是老年人,有多少不是老年人 例如: 用户总数:20000 2月份登记的老年人总数:1000人 年月注册的老年人总数:1000 2017年注册老年人总数:10000人 是否有其他方法可以实现这一点,而无需在我的数据库中为接下来的每一年创建一个表?这里有几个不同的分组 获取总计数是最简单的,因为您只需获取整个表的计数: SELECT COUNT(`name`) AS `TotalRegistered` FRO
是否有其他方法可以实现这一点,而无需在我的数据库中为接下来的每一年创建一个表?这里有几个不同的分组 获取总计数是最简单的,因为您只需获取整个表的计数:
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格式。当然有。但是你的桌子看起来像什么?你试过什么?Google for SQL GROUP BY.my表在摘要中类似这样:用户名varchar、高级布尔值、青年布尔值、日托布尔值、dateregistered varcharI现在可能有了一个想法。谢谢大家!@JBNizet