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

Повторете редовете в резултата въз основа на цяло число в колона

Мисля, че е по-добре да не се разрешава с query(SQL). Има някаква функция за генериране, но нейната производителност е лоша.

Трябва да промените модела си (съхранявайте винаги 1 количество) или да го обработите в бекенда (java/c/stb.)

Select id, 
       1 as quantity, 
       price_charged 
from table_name t
JOIN 
(SELECT e*10000+d*1000+c*100+b*10+a n FROM
(select 0 a union all select 1 union all select 2 union all select 3 union all select 4 union all select 5 union all select 6 union all select 7 union all select 8 union all select 9) t1,
(select 0 b union all select 1 union all select 2 union all select 3 union all select 4 union all select 5 union all select 6 union all select 7 union all select 8 union all select 9) t2,
(select 0 c union all select 1 union all select 2 union all select 3 union all select 4 union all select 5 union all select 6 union all select 7 union all select 8 union all select 9) t3,
(select 0 d union all select 1 union all select 2 union all select 3 union all select 4 union all select 5 union all select 6 union all select 7 union all select 8 union all select 9) t4,
(select 0 e union all select 1 union all select 2 union all select 3 union all select 4 union all select 5 union all select 6 union all select 7 union all select 8 union all select 9) t5) counter
ON (counter.n<=t.quantity)

Присъединената подзаявка повтаря числа от 0 до 99999, това е максимумът за запис за количество. Повторение на присъединяването чрез стойности на брояча 0... количество-1.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Нормализирането затруднява свързванията в множество таблици

  2. Codeigniter Select_Sum връща масив, а не числова стойност?

  3. Прикачване на прости метаданни към MySQL база данни

  4. ГРЕШКА 1366 (HY000):Неправилна стойност на низа:„\xF0\x9F\x98\x9C“ за колона „коментар“ на ред 1

  5. Сумиране, изваждане и свързване на множество колони на mysql таблица