1

我在 MySQL 中运行这个脚本来检索按特定类型和月份分组的约会计数:

SELECT Type, month(Start), COUNT(Type) FROM dating GROUP BY Type, month(Start);

它为我提供了这张表:[1]:https ://i.stack.imgur.com/sRJwx.png

这很棒!现在我的问题是尝试将数据放入变量中:

String sql = "SELECT `Type`, month(`Start`), COUNT(Type) FROM appointments " +
                "GROUP BY `Type`, month(`Start`)";

        try(Statement s = DatabaseConnection.getConnection().createStatement();
        ResultSet rs = s.executeQuery(sql)) {
            while(rs.next()) {
                String typeKey = rs.getString("Type");
                int monthValue = rs.getInt("month(Start)");
                int count = rs.getInt("COUNT(Type)");

运行此程序时出现 SQLException,说找不到列“月(类型)。我尝试使用列名“开始”并尝试仅使用“月”并收到相同的 SQLException(我知道,有点一个愚蠢的故障排除但值得一试)。我环顾四周寻找一些解决方案,但我达不到要求。

这是一个学校项目,所以我只能使用 JDBC 和 Java 特定的驱动程序。如果有人能指出我正确的方向,我将不胜感激。

4

1 回答 1

2

尝试重命名列as

sql = "SELECT `Type` as type ,
               month(`Start`) as mstart,
               COUNT(Type) as ctype
               FROM appointments " +
               "GROUP BY `Type`, month(`Start`)";
于 2021-08-08T01:05:35.007 回答