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

Как да транспонирам редове в колони с голямо количество данни в BigQuery/SQL?

STEP #1

В заявката по-долу заменете yourTable с истинското име на вашата таблица и я изпълнете/изпълнете

SELECT 'SELECT CustomerID, ' + 
   GROUP_CONCAT_UNQUOTED(
      'MAX(IF(Feature = "' + STRING(Feature) + '", Value, NULL))'
   ) 
   + ' FROM yourTable GROUP BY CustomerID'
FROM (SELECT Feature FROM yourTable GROUP BY Feature) 

В резултат на това ще получите някакъв низ, който да използвате в следващата стъпка!

STEP #2

Вземете низ, който сте получили от Стъпка 1, и просто го изпълнете като заявка
Резултатът е Pivot, който сте задали във въпроса



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Показване на данни с формат в Datagridview

  2. Mysql показва редовете като колони

  3. MySQL ПОРЪЧКА ПО ПОЛЕ с %

  4. Грешка в MySQL:Максималният размер на колоната е 767 байта

  5. създайте изглед, който получава ранг, потребителско име и брой потребителски записи