Để sử dụng tập kết quả trong điều kiện truy vấn cho một tập hợp các truy vấn, bạn cần có con trỏ.
Vui lòng xem thông tin cơ bản về cách sử dụng con trỏ tại đây và trong tài liệu
DELIMITER $$
CREATE PROCEDURE group_results_by_date
BEGIN
DECLARE v_finished INTEGER DEFAULT 0;
DECLARE cdate DATE DEFAULT "2015-01-01";
-- declare cursor for getting list of dates
DEClARE date_cursor CURSOR FOR
SELECT DISTINCT (date) FROM yourtable;
-- declare NOT FOUND handler
DECLARE CONTINUE HANDLER
FOR NOT FOUND SET v_finished = 1;
OPEN date_cursor;
get_content: LOOP
FETCH date_cursor INTO cdate;
IF v_finished = 1 THEN
LEAVE get_content;
END IF;
-- Select query for different dates
Select count, date, content from yourtable where date = cdate;
END LOOP get_content;
CLOSE date_cursor;
END$$
DELIMITER ;
Bạn có thể gọi thủ tục này bằng
CALL group_results_by_date();