回答編集履歴
1
sample
    
        answer	
    CHANGED
    
    | 
         @@ -1,2 +1,24 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            LIMITには数値しか指定できません
         
     | 
| 
       2 
     | 
    
         
            -
            mysqlだけで完結したいならプロシージャなどで処理するしかないでしょう
         
     | 
| 
      
 2 
     | 
    
         
            +
            mysqlだけで完結したいならプロシージャなどで処理するしかないでしょう
         
     | 
| 
      
 3 
     | 
    
         
            +
             
     | 
| 
      
 4 
     | 
    
         
            +
            # sample
         
     | 
| 
      
 5 
     | 
    
         
            +
            蛇足ながらprecedureでlimitを実行する
         
     | 
| 
      
 6 
     | 
    
         
            +
            ```SQL
         
     | 
| 
      
 7 
     | 
    
         
            +
            /* 以下予め実行して作っておく */
         
     | 
| 
      
 8 
     | 
    
         
            +
            drop procedure if exists sql_limit;
         
     | 
| 
      
 9 
     | 
    
         
            +
            delimiter //
         
     | 
| 
      
 10 
     | 
    
         
            +
            create procedure sql_limit(IN s varchar(200),IN l int) 
         
     | 
| 
      
 11 
     | 
    
         
            +
            begin 
         
     | 
| 
      
 12 
     | 
    
         
            +
            set @sql=concat(s,' LIMIT ',l);
         
     | 
| 
      
 13 
     | 
    
         
            +
            prepare stmt from @sql;
         
     | 
| 
      
 14 
     | 
    
         
            +
            execute stmt;
         
     | 
| 
      
 15 
     | 
    
         
            +
            end ;
         
     | 
| 
      
 16 
     | 
    
         
            +
            //
         
     | 
| 
      
 17 
     | 
    
         
            +
            delimiter ;
         
     | 
| 
      
 18 
     | 
    
         
            +
            ```
         
     | 
| 
      
 19 
     | 
    
         
            +
            あとはlimitの値に式をいれる
         
     | 
| 
      
 20 
     | 
    
         
            +
            ```SQL
         
     | 
| 
      
 21 
     | 
    
         
            +
            call sql_limit('select * from tbl',DATEDIFF('2021-3-24','2021-3-19') );
         
     | 
| 
      
 22 
     | 
    
         
            +
            とか
         
     | 
| 
      
 23 
     | 
    
         
            +
            call sql_limit('select * from tbl',1+2 );
         
     | 
| 
      
 24 
     | 
    
         
            +
            ```
         
     |