【发布时间】:2019-11-29 01:11:30
【问题描述】:
我对 JDBC 很陌生,我正在练习执行查询和语句。
try {
Connection conn = DriverManager.getConnection(DB_URL, USERNAME, PASSWORD);
Statement st = conn.createStatement();
String query = "SELECT COUNT(*) AS \"Number of suppliers\", city\r\n" +
"FROM supplier\r\n" +
"GROUP BY city\r\n" +
"ORDER BY city DESC\r\n";
//st.executeUpdate(query);
ResultSet rs = st.executeQuery(query);
while(rs.next()) {
System.out.println(rs.getString("supplierNum"));
System.out.println(rs.getString("city"));
space();
}
st.close();
conn.close();
}
我正在尝试使用SELECT COUNT(supplierNum) AS "Number of suplliers", cityFROM supplierGROUP BY city ORDER BY city DESC; 执行和打印结果
控制台只是终止,什么都没有发生,没有错误消息,只是一个空白屏幕。
这是我要访问的表
CREATE TABLE supplier
(
supplierNum CHAR(2) NOT NULL,
name CHAR(10) NOT NULL,
status TINYINT(4) NOT NULL,
city VARCHAR(10) NOT NULL,
PRIMARY KEY (supplierNum)
);
【问题讨论】:
-
您是想获取计数,还是尝试遍历行并打印出数据?在 SQL 中,COUNT() 被认为是一个聚合函数,您不能简单地使用它并在同一语句中选择其他列(名称、状态等)而不进行分组或类似。
-
@KellyM 在使用
COUNT()作为解析函数的情况下不正确。