以下是BigQuery!
请注意:您对输出列名称的期望不正确!
列名不能以数字开头-因此在下面的示例中-我将使用id_1,id_2和id_3代替1、2和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_3FROM YourTable
上面的示例假定您事先知道您的ID,并且ID很少,因此为每个ID手动写几行带有SUM(…)的行就没什么大不了的
如果不是这种情况,您可以先通过运行下面的查询来以编程方式生成上面的查询
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)
结果-您将获得如下所示的字符串
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
因此,现在只需将其复制并粘贴到查询编辑器中并运行即可



