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

Голямо транспониране на заявка

Все още няма добър начин да направите това в BigQuery, но можете да го направите, като следвате идеята по-долу

Стъпка 1

Изпълнете под заявката

SELECT 'SELECT [group], ' + 
   GROUP_CONCAT_UNQUOTED(
      'SUM(IF([date] = "' + [date] + '", value, NULL)) as [d_' + REPLACE([date], '/', '_') + ']'
   ) 
   + ' FROM YourTable GROUP BY [group] ORDER BY [group]'
FROM (
  SELECT [date] FROM YourTable GROUP BY [date] ORDER BY [date]
)

В резултат - ще получите низ като по-долу (форматиран е по-долу за четливост)

SELECT 
    [group], 
    SUM(IF([date] = "date1", value, NULL)) AS [d_date1],
    SUM(IF([date] = "date2", value, NULL)) AS [d_date2] 
FROM YourTable 
GROUP BY [group] 
ORDER BY [group]   

Стъпка 2

Просто стартирайте над съставената заявка

Резултатът ще бъде като по-долу

group   d_date1 d_date2  
group1  15      30      

Забележка 1 :Стъпка 1 е полезна, ако имате много групи, за да завъртите твърде много ръчна работа. В този случай - Стъпка 1 ви помага да генерирате вашата заявка

Забележка 2 :тези стъпки се прилагат лесно във всеки клиент по ваш избор или можете просто да ги стартирате в BigQuery Web UI

Можете да видите повече за завъртането в другите ми публикации.

Как да мащабирате завъртането в BigQuery?
Моля, обърнете внимание – има ограничение от 10K колони на таблица – така че сте ограничени с 10K организации.
Можете също да видите по-долу като опростени примери (ако един по-горе е твърде сложен/подробен):
Как да транспонирате редове в колони с голямо количество данни в BigQuery/SQL?
Как да създадете фиктивни колони с променлива за хиляди категории в Google BigQuery?
Завъртане на повторени полета в BigQuery




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Създайте C# класове, базирани на MySQL таблица

  2. Вземете име на колона, което има максимална стойност в ред sql

  3. Как да инсталирате MySQL с phpMyAdmin на Debian 7

  4. MySQL Workbench не показва резултати от заявка

  5. #1136 - Броят на колоните не съвпада с броя на стойностите на ред 1