Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Transpozycja Big Query

Na razie nie ma fajnego sposobu na zrobienie tego w BigQuery, ale możesz to zrobić zgodnie z poniższym pomysłem

Krok 1

Uruchom poniżej zapytanie

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]
)

W rezultacie - otrzymasz ciąg jak poniżej (jest sformatowany poniżej ze względu na czytelność)

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]   

Krok 2

Po prostu uruchom powyżej złożone zapytanie

Wynik będzie taki jak poniżej

group   d_date1 d_date2  
group1  15      30      

Uwaga 1 :Krok 1 jest pomocny, jeśli masz wiele grup do przestawienia, więc zbyt dużo pracy ręcznej. W takim przypadku — krok 1 pomoże Ci wygenerować zapytanie

Uwaga 2 :te kroki można łatwo zaimplementować w dowolnym wybranym przez Ciebie kliencie lub po prostu uruchomić je w internetowym interfejsie użytkownika BigQuery

Możesz dowiedzieć się więcej o przechylaniu w innych moich postach.

Jak skalować Pivoting w BigQuery?
Uwaga – istnieje ograniczenie do 10 tys. kolumn na tabelę – więc jesteś ograniczony do 10 tys. organizacji.
Możesz również zobaczyć poniżej jako uproszczone przykłady (jeśli powyższy jest zbyt złożony/pełny):
Jak transponować wiersze do kolumn z dużą ilością danych w BigQuery/SQL?
Jak utworzyć fałszywe kolumny zmiennych dla tysięcy kategorii w Google BigQuery?
Przestaw powtarzane pola w 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. Automatycznie ładuj wyniki, które w kółko pobierają te same wyniki

  2. Brak wyników po usunięciu mysql ft_stopword_file

  3. Ile zapytań MySQL powinienem ograniczyć na stronie? PHP / MySQL

  4. Ile pamięci zajmie wartość null w DB?

  5. Czy mogę sprawić, by arkusze kalkulacyjne Dysku Google działały jak baza danych MySQL?