sql >> データベース >  >> RDS >> Mysql

1つの結果セットを使用して異なる結果セットを作成する

    一連のクエリのクエリ条件で結果セットを使用するには、カーソルが必要です。

    カーソルの使用法の基本を確認してくださいこちら および docs

    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 ;
    

    このプロシージャは

    で呼び出すことができます
    CALL group_results_by_date();
    



    1. TSQL日時フィールドからYYYY-MM-DD形式の日付を取得するにはどうすればよいですか?

    2. ユーザーがPHPを使用してMySQLにすでに存在するかどうかを確認する方法

    3. 時間値を保持した動的PL/SQL日付パラメータ

    4. SQL Serverで外部キーを削除するにはどうすればよいですか?