Hieronder is voor BigQuery!
Let op:uw verwachtingen over de namen van de uitvoerkolommen zijn niet correct!
Kolomnaam mag niet beginnen met een cijfer - dus in onderstaand voorbeeld zal ik id_1, id_2 en id_3 gebruiken in plaats van 1, 2 en 3
SELECT
SUM(CASE WHEN id = 1 THEN 1 END) AS id_1,
SUM(CASE WHEN id = 2 THEN 1 END) AS id_2,
SUM(CASE WHEN id = 3 THEN 1 END) AS id_3
FROM YourTable
In het bovenstaande voorbeeld wordt ervan uitgegaan dat u uw ID's van tevoren weet en dat er maar heel weinig zijn, dus het is niet erg om handmatig een paar regels te schrijven met SUM(...) voor elke id
Als dit niet het geval is, kunt u eerst de bovenstaande query programmatisch genereren door de onderstaande query uit te voeren
SELECT 'SELECT ' +
GROUP_CONCAT_UNQUOTED(
'SUM(CASE WHEN id = ' + STRING(id) + ' THEN 1 END) AS id_' + STRING(id)
)
+ ' FROM YourTable'
FROM (
SELECT id FROM (
SELECT * FROM YourTable GROUP BY id ORDER BY id
)
als resultaat krijg je een string zoals hieronder
SELECT SUM(CASE WHEN id = 1 THEN 1 END) AS id_1,SUM(CASE WHEN id = 2 THEN 1 END) AS id_2,SUM(CASE WHEN id = 3 THEN 1 END) AS id_3 FROM YourTable
Dus kopieer het nu en plak het in Query Editor en voer het uit
je kunt hier een soortgelijk voorbeeld zien - https://stackoverflow.com/a/36623258/5221944