Mysql
 sql >> Database >  >> RDS >> Mysql

Crea una vista con la colonna num_rows - MySQL

Ho trovato una soluzione per questo:

Per prima cosa crea una funzione:

delimiter //

CREATE FUNCTION `func_inc_var_session`() RETURNS int
    NO SQL
    NOT DETERMINISTIC
     begin
      SET @var := @var + 1;
      return @var;
     end
     //

delimiter ;

Quindi imposta @var sul numero con cui vuoi iniziare. In questo caso zero.

Quindi crea la vista come segue:

CREATE OR REPLACE VIEW myview (place, name, hour, price, counter) 
AS SELECT place, name, hour, price, func_inc_var_session() 
FROM yourtable
WHERE input_conditions_here;

Il trucco qui è che potresti vedere NULL sulla colonna del contatore. Se ciò accade, imposta di nuovo @var sul tuo numero, quindi esegui nuovamente SELECT * e vedrai la colonna del contatore compilata correttamente.