有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java试图将MySQL中的特定月份和计数值转换为变量

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

从约会中选择类型、月份(开始)、计数(类型) 按类型分组,月份(开始)

这为我提供了以下表格: [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,说找不到列“month(Type)”。我试过使用列名“Start”,也试过仅使用“month”并收到了相同的SQLException(我知道,这是一个愚蠢的故障排除,但值得一试)。我四处寻找了一些解决方案,但我没有找到

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


共 (1) 个答案

  1. # 1 楼答案

    尝试使用as重命名列

    sql = "SELECT `Type` as type ,
                   month(`Start`) as mstart,
                   COUNT(Type) as ctype
                   FROM appointments " +
                   "GROUP BY `Type`, month(`Start`)";