Um eine Ergebnismenge in einer Abfragebedingung für eine Reihe von Abfragen zu verwenden, benötigen Sie einen Cursor.
Bitte lesen Sie die Grundlagen der Cursor-Nutzung hier und in den Dokumenten
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 ;
Sie können diese Prozedur mit
aufrufenCALL group_results_by_date();