Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> MySQL

การคิวรี่ค่าสะสมสูงสุด (Maximum Cumulative Value) ใน MySQL

การหาค่าผลคูณสูงสุดและจำนวนครั้งที่เกิดขึ้น

ใช้ Subquery คำนวณค่าสะสม (value1 * value2) แล้ว GROUP BY และ ORDER BY DESC LIMIT 1

ตัวอย่าง

CREATE TABLE demo23 (
    id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
    value1 INT, value2 INT
);

INSERT INTO demo23 (value1, value2) VALUES
(5, 600), (20, 800), (7, 400), (6, 500), (10, 300), (11, 500);

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;

ผลลัพธ์

total_valuenumber_of_occurrences
160001

คำอธิบาย: 20 * 800 = 16,000 เป็นค่าสูงสุด เกิดขึ้น 1 ครั้ง

การประยุกต์: เปลี่ยน value1 * value2 เป็นสูตรสะสมอื่นๆ ได้ เช่น Running Total, Moving Average