Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Utwórz inny zestaw wyników za pomocą jednego zestawu wyników

Aby użyć zestawu wyników w warunku zapytania dla zestawu zapytań, potrzebujesz kursora.

Zapoznaj się z podstawami używania kursora tutaj oraz w dokumentacji

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 ;

Możesz wywołać tę procedurę,

CALL group_results_by_date();



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Szukaj występowania dowolnych zapisanych słów w zdaniu (MySQL)

  2. Znajdź przecięcia między wierszami i znacznikami czasu w bazie danych mysql

  3. ASPNETDB.mdf dla MySQL

  4. MySQL. Klucz podstawowy w tabeli relacyjnej. Unikalny identyfikator czy wiele unikalnych kluczy?

  5. MySQL - InnoDB kontra MyISAM