sql >> Databáze >  >> RDS >> Mysql

Vytvořte jinou sadu výsledků pomocí jedné sady výsledků

Chcete-li použít sadu výsledků v podmínce dotazu pro sadu dotazů, potřebujete kurzor.

Přečtěte si prosím základy používání kurzoru zde a v dokumentech

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 ;

Tuto proceduru můžete zavolat pomocí

CALL group_results_by_date();



  1. Vytvořte editovatelné zobrazení na Oracle

  2. Jak ukládat data s různou úrovní přesnosti v postgresu?

  3. Jak získat všechny záznamy pomocí cizího klíče pomocí Laravel

  4. Nasazení MySQL Galera Cluster 4.0 na Amazon AWS EC2