Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Erstellen Sie eine Ansicht mit Spalte num_rows - MySQL

Ich habe dafür eine Lösung gefunden:

Erstellen Sie zuerst eine Funktion:

delimiter //

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

delimiter ;

Setzen Sie dann @var auf die Zahl, mit der Sie beginnen möchten. In diesem Fall null.

Erstellen Sie dann die Ansicht wie folgt:

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;

Der Trick dabei ist, dass Sie möglicherweise NULL in der Zählerspalte sehen. Wenn dies passiert, setzen Sie bitte @var erneut auf Ihre Nummer und führen Sie dann SELECT * erneut aus, und Sie werden sehen, dass die Zählerspalte richtig ausgefüllt ist.