使用Java实现MySQL聚合查询
要在Java中实现MySQL的聚合查询,可以使用JDBC连接数据库并执行SQL语句。下面是一个使用Java实现各种数据聚合查询的示例:
1. 引入Maven依赖:
<!-- MySQL JDBC driver -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.23</version>
</dependency>
2. 编写Java代码:
import java.sql.*;
public class AggregationQuery {
public static void main(String[] args) {
// 数据库连接信息
String url = "jdbc:mysql://localhost:3306/db_name";
String username = "username";
String password = "password";
try {
// 建立数据库连接
Connection connection = DriverManager.getConnection(url, username, password);
// 创建Statement对象
Statement statement = connection.createStatement();
// 执行聚合查询
// 统计行数
String countQuery = "SELECT COUNT(*) FROM table_name";
ResultSet countResult = statement.executeQuery(countQuery);
if (countResult.next()) {
int count = countResult.getInt(1);
System.out.println("Total count: " + count);
}
// 求和
String sumQuery = "SELECT SUM(column_name) FROM table_name";
ResultSet sumResult = statement.executeQuery(sumQuery);
if (sumResult.next()) {
double sum = sumResult.getDouble(1);
System.out.println("Sum: " + sum);
}
// 平均值
String avgQuery = "SELECT AVG(column_name) FROM table_name";
ResultSet avgResult = statement.executeQuery(avgQuery);
if (avgResult.next()) {
double average = avgResult.getDouble(1);
System.out.println("Average: " + average);
}
// 最大值
String maxQuery = "SELECT MAX(column_name) FROM table_name";
ResultSet maxResult = statement.executeQuery(maxQuery);
if (maxResult.next()) {
double max = maxResult.getDouble(1);
System.out.println("Max: " + max);
}
// 最小值
String minQuery = "SELECT MIN(column_name) FROM table_name";
ResultSet minResult = statement.executeQuery(minQuery);
if (minResult.next()) {
double min = minResult.getDouble(1);
System.out.println("Min: " + min);
}
// 关闭连接
statement.close();
connection.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
请注意替换代码中的`db_name`、`username`、`password`、`table_name`和`column_name`为实际的数据库、用户名、密码、表名和列名。
上述代码将执行MySQL的各种聚合查询,并打印结果。可以根据具体需求修改查询语句和处理结果的方式。