Contatore in una query/vista

Contatore in una query/vista
3 Marzo 2013 Commenti disabilitati su Contatore in una query/vista Database e linguaggio SQL Giuliano

In MySQL è possibile gestire una variabile durante l’esecuzione di una query. Questo permette di poter, ad esempio, attribuire un valore progressivo alle righe che vengono mostrate nell’output.

SET @row := 0;

SELECT @row := @row + 1 AS cnt, firstname, surname
FROM users;

Per prima cosa è necessario creare una variabile col comando SET @row := 0;

Nota: Ho assegnato alla variabile il nome @row, ma potevo usare qualsiasi nome (@r, @pippo ecc)

Dopodichè si inserisce nella query il calcolo da fare con la variabile (in questo caso @row := @row + 1 AS cnt)

Nel caso si dovesse usare questo metodo in php, bisognerà fare 2 chiamate distinte a MySQL, una per l’inizializzazione della variabile, una per la query vera e propria

mysql_query("set @row = 0;");
$rs = mysql_query("SELECT @row := @row + 1 AS cnt, firstname, surname FROM users;");
...
Tags
Riguardo l'autore