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

Wie zähle ich Elemente mit dem Äquivalent generate_series() in MySQL?

Nehmen wir also an, Sie haben einige Tabelle mit mindestens 26 Einträgen darin (vielleicht information_schema.columns vielleicht?).

Im Folgenden werden alle alphabetischen Großbuchstaben generiert:

SET @c := 64;

SELECT CAST(CHAR(@c := @c + 1) AS CHAR(1)) AS letter
FROM table_with_at_least_26_rows
LIMIT 26
;

Um das Obige in Ihre ursprüngliche Abfrage einzubetten, geben Sie SET @c := 64; ein vor der Abfrage, dann ersetzen Sie generate_series(0, 25) as chars(letter) mit ( SELECT CAST ... LIMIT 26 ) chars . Stellen Sie sicher, dass Sie die Klammern einfügen, da dies die Abfrage zu einer Unterabfrage macht.

SQL Fiddle der Abfrage:http://sqlfiddle.com/#!9/6efac/8