Sybase聚合查询
Sybase数据库支持多种聚合查询,包括但不限于以下几种:
1. COUNT:计算指定条件下的行数。
示例:计算一个学生表中男生的数量。
表结构:
CREATE TABLE students (
id INT PRIMARY KEY,
name VARCHAR(50),
gender VARCHAR(10)
);
样例数据:
INSERT INTO students (id, name, gender)
VALUES
(1, 'Alice', 'Female'),
(2, 'Bob', 'Male'),
(3, 'Charlie', 'Male'),
(4, 'Eva', 'Female');
查询语句:
SELECT COUNT(*) AS male_count
FROM students
WHERE gender = 'Male';
结果:2
2. SUM:计算指定条件下某个字段的总和。
示例:计算一个订单表中所有订单的总金额。
表结构:
CREATE TABLE orders (
id INT PRIMARY KEY,
amount DECIMAL(10,2),
date DATE
);
样例数据:
INSERT INTO orders (id, amount, date)
VALUES
(1, 100.50, '2022-01-01'),
(2, 50.25, '2022-01-01'),
(3, 75.75, '2022-01-02');
查询语句:
SELECT SUM(amount) AS total_amount
FROM orders;
结果:226.50
3. AVG:计算指定条件下某个字段的平均值。
示例:计算一个学生成绩表中所有学生的平均分数。
表结构:
CREATE TABLE scores (
id INT PRIMARY KEY,
student_id INT,
score INT
);
样例数据:
INSERT INTO scores (id, student_id, score)
VALUES
(1, 1, 90),
(2, 2, 80),
(3, 1, 95),
(4, 3, 85);
查询语句:
SELECT AVG(score) AS average_score
FROM scores;
结果:87.5
4. MAX:找出指定条件下某个字段的最大值。
示例:找出一个订单表中金额最高的订单。
查询语句:
SELECT MAX(amount) AS max_amount
FROM orders;
结果:100.50
5. MIN:找出指定条件下某个字段的最小值。
示例:找出一个学生成绩表中分数最低的学生。
查询语句:
SELECT MIN(score) AS min_score
FROM scores;
结果:80
这些聚合查询可以根据实际需求进行组合和嵌套使用。请注意,以上示例仅作为演示,实际表结构和数据可能有所不同。