Mysql
 sql >> база данни >  >> RDS >> Mysql

Как да преброите елементи с помощта на еквивалент на generate_series() в MySQL?

Така че нека предположим, че имате някои таблица с поне 26 записа в нея (може би information_schema.columns може би?).

Следното ще генерира всички главни букви на азбуката:

SET @c := 64;

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

За да вградите горното в оригиналната си заявка, поставете SET @c := 64; преди заявката, след това заменете generate_series(0, 25) as chars(letter) с ( SELECT CAST ... LIMIT 26 ) chars . Не забравяйте да включите скоби, тъй като това ще направи заявката в подзаявка.

SQL Fiddle на заявката:http://sqlfiddle.com/#!9/6efac/8



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Сложни клаузи WHERE, използващи PHP Doctrine ORM

  2. Защо добавянето на '*' към MySQL заявка причинява синтактична грешка?

  3. Търсене на запис - в база данни (без указване на име на колона/име на таблица)

  4. Извличане на ден/месец/година от времеви печат на MYSQL

  5. MySQL правилният синтаксис за използване близо до '' при грешка на ред 1