Computer >> Máy Tính >  >> Lập trình >> MySQL

Truy vấn MySQL để tìm nạp giá trị tích lũy tối đa


Đối với điều này, hãy sử dụng hàm tổng hợp COUNT (*) cùng với truy vấn con. GROUP BY cũng được sử dụng.

Hãy để chúng tôi tạo một bảng -

mysql> create table demo23
−> (
−> id int not null auto_increment primary key,
−> value1 int,
−> value2 int
−> );
Query OK, 0 rows affected (1.65 sec)

Chèn một số bản ghi vào bảng với sự trợ giúp của lệnh insert -

mysql> insert into demo23(value1,value2) values(5,600);
Query OK, 1 row affected (0.20 sec)

mysql> insert into demo23(value1,value2) values(20,800);
Query OK, 1 row affected (0.06 sec)

mysql> insert into demo23(value1,value2) values(7,400);
Query OK, 1 row affected (0.20 sec)

mysql> insert into demo23(value1,value2) values(6,500);
Query OK, 1 row affected (0.17 sec)

mysql> insert into demo23(value1,value2) values(10,300);
Query OK, 1 row affected (0.12 sec)

mysql> insert into demo23(value1,value2) values(11,500);
Query OK, 1 row affected (0.14 sec)

Hiển thị các bản ghi từ bảng bằng cách sử dụng câu lệnh select -

mysql> select *from demo23;

Điều này sẽ tạo ra kết quả sau -

+----+--------+--------+
| id | value1 | value2 |
+----+--------+--------+
| 1  | 5      | 600    |
| 2  | 20     | 800    |
| 3  | 7      | 400    |
| 4  | 6      | 500    |
| 5  | 10     | 300    |
| 6  | 11     | 500    |
+----+--------+--------+
6 rows in set (0.00 sec)

Sau đây là truy vấn cho tích lũy tối đa -

mysql> select total_value, count(*) as number_of_occurrences
−> from (
−> select value1*value2 as total_value
−> from demo23
−> ) t
−> group by total_value
−> order by total_value desc
−> limit 1 ;

Điều này sẽ tạo ra kết quả sau -

+-------------+-----------------------+
| total_value | number_of_occurrences |
+-------------+-----------------------+
| 16000       |                     1 |
+-------------+-----------------------+
1 row in set (0.00 sec)