Ich bin wenig neu zu Google Big Query und ich versuche, ein geschwenktes Ergebnis aus öffentlichen Beispieldatensatz zu erhalten.Wie Pivot-Tabelle in große Abfrage
Eine einfache Abfrage an bestehende Tabelle ist
SELECT *
FROM publicdata:samples.shakespeare
LIMIT 10;
Diese Abfrage gibt folgende Ergebnismenge.
Nun, was ich versuche zu tun ist, dass die Ergebnisse aus der Tabelle in einer solchen Art und Weise, wenn das Wort mutig ist, wählen Sie „BRAVE“ als Spalte_1 und wenn das Wort besucht wird, wählen Sie „ATTENDED "as column_2, und aggregieren die Wortzahl für diese 2.
Hier ist die Abfrage, die ich verwende.
SELECT
(CASE WHEN word = 'brave' THEN 'BRAVE' ELSE '' END) AS column_1,
(CASE WHEN word = 'attended' THEN 'ATTENDED' ELSE '' END) AS column_2,
SUM (word_count)
FROM publicdata:samples.shakespeare
WHERE (word = 'brave' OR word = 'attended')
GROUP BY column_1, column_2
LIMIT 10;
Aber diese Abfrage liefert die Daten
Was ich gesucht habe ist
Ich kenne diesen Drehpunkt für diesen Datensatz ist nicht sinnvoll . Aber ich nehme das nur als Beispiel, um das Problem zu erklären. Es wird toll sein, wenn du mir ein paar Anweisungen geben kannst.
EDITED: Ich habe auch auf How to simulate a pivot table with BigQuery? verwiesen und es scheint, dass es auch das gleiche Problem hat, das ich hier erwähnte.
'SELECT word [SAFE_ORDINAL (1)] column_1, word [SAFE_ORDINAL (2)] spalte_2, SUM (c) ' in standard-sql –