背景
我想在sql select语句中动态重命名case语句。
例如:
SELECT (case when id= x.id then x.sums end) x.id as (select id,count(*) sums from table
group by id) x
我想要的输出是创建的列列表,其中标签作为与“ id”列不同的id。
但是,此变量 x.id 并不是动态输出值,而是我输出的是单列x.id。
例如:
表中的列…
1 ---- x1 — x2
2 ---- x2 ---- x3
3 ---- x4 ---- x5
在运行查询后,期望的列…
但实际的o / p列是:
查询 任何想法,如何使用选择查询动态生成列,请纠正我,如果我错了。
以下是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_3
FROM 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
因此,现在只需将其复制并粘贴到查询编辑器中并运行即可
我试图弄清楚如何通过使用与哥伦布()函数并在pySpark中的cp_codeset列()函数中调用udf来动态地为列表中的每个项目创建列(在这种情况下为列表)。下面是我写的代码,但它给了我一个错误。 另一种选择是手动执行它,但在这种情况下,我必须编写相同的udf函数并使用养分()函数调用它75次(这是cp_codeset["col_names"]的大小) 下面是我的两个数据帧,我正在尝试获得结果如
问题内容: 是否可以从结构动态创建mysql数据库。 好像卡在了密码提示符下 问题答案: 试试吧
问题内容: 我有3张桌子。团队,选项,选项团队。 团队拥有一个TeamId,名称 拥有Option拥有OptionId,OptionGroup OptionTeam拥有TeamId,OptionId,OptionGroup 我想获得一个团队列表,以及额外的列,这些列指示每个组有多少个选项连接到每个团队。这是通过上面的查询完成的,但是我想用表Option中的OptionGroup值替换4,5,6,1
我刚到姜戈。我目前正在通过推特应用编程接口对实时用户推文进行情感分析。我已经设法做了分析和表达情感。现在,我想在我的Django应用程序中使用图表(也许是条形图或饼图)来可视化情感,但我不确定如何实现。 我在考虑使用图表。js使其具有响应性,但大多数示例都使用静态数据,因此我没有成功地将从Twitter API提取的数据与图表集成。js。 这是我的网页截图。这张表格是摘录的推特及其相应的情感。然而
我有一个参数,可以有n个输入,这是分开的。例如:asd, qwe, zxc现在我需要根据存储过程中传递的参数创建一个sql。例如:从表1中选择asd, qwe, zxc这在sybase ase 15.7中是否可能感谢Rinu
我试图在plpgsql函数中创建一个带有动态选择查询的数组。不幸的是,我遇到了一个语法错误。 谁能帮帮我吗?以下是函数本身: