问题标签 [sql-standards]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
arrays - BigQuery 标准 SQL:如何按 ARRAY 字段分组
我的表有两列,id
并且a
. 列id
包含一个数字,列a
包含一个字符串数组。我想计算给定数组的唯一 ID 的数量,数组之间的相等性被定义为“相同大小,每个索引的相同字符串”。
使用时GROUP BY a
,我得到Grouping by expressions of type ARRAY is not allowed
。我可以使用类似的东西GROUP BY ARRAY_TO_STRING(a, ",")
,但是然后将两个数组["a,b"]
和["a","b"]
组合在一起,并且我丢失了数组的“真实”值(因此,如果稍后我想在另一个查询中使用它,我必须拆分字符串)。
这个字段数组中的值来自用户,所以我不能假设某些字符永远不会存在(并将其用作分隔符)。
google-bigquery - 具有编辑距离 UDF 的 BigQuery 查询引发错误
我正在尝试使用编辑距离算法比较文章之间的内容。我在标准查询中创建了一个 UDF。当文章数量较少时(例如 10 篇文章,总比较为 10X10 = 100),效果很好。
如果文章总数很大,比如 100(总比较是 100 x 100 = 10000)。BigQuery UI 引发以下错误:
错误:发生内部错误,无法完成请求。职位 ID:newspapers-142716:US.bquijob_cfbb316_161c359b4ec
我想知道是不是因为 BigQuery 在调用 UDF 时无法处理那么多数据。编辑距离算法不是“便宜”的操作,这也是原因吗?
为此目的使用 UDF 是正确的方法吗?还有其他选择吗?
下面是我的UDF代码:
mysql - JOIN 后多表选择
我有 4 张桌子:
其中3个具有相同的uniqueID
字段..所以经过一番搜索,我发现我必须使用JOIN从3个表中获取我想要的数据,现在我需要添加第4个表,但是第4个表没有有uniqueID
领域。
TB2中有一个名为id_emp的字段,现在我需要加入包含名称和地址的TB4所以,我需要在查询结果中返回名称和地址!
任何帮助将不胜感激。
提前致谢
mysql - 以下哪条 sql 指令不是标准 SQL?
如果您可以与我分享一个学习所有标准 sql 的链接,我将不胜感激
sql - GroupBy + 条件
如果我有一张像
使用 SQL 标准,我们可以编写以下 if 条件:
如果对于(ID,开始,结束),代码是 A 和 B,则只打印带有 B 的记录。否则,打印记录。这是输出:
谢谢!
sql - 有没有办法使用 Visual Studio 进行符合 SQL 标准的查询?
我只是想知道是否有适用于 Visual Studio 2019 Professional 的 SQL 标准合规性验证器(可以设置为strict:只接受绝对合规的语法)。如果它也支持本机语言会很好,但我已经习惯了那种仅限 CLR的东西(我真的不知道为什么可能是因为链接......虽然我可能完全错了...我实际上不知道并猜测了)。
重要的是它需要符合标准,而不仅仅是符合 SQL 服务器。不在标准中的就是错误。
目标是制作完全独立于 DBMS 的 SQL 代码。感谢您花时间阅读我的问题。
sql - Bigquery SQL 标准排名()
我不得不将我所有的旧 SQL 转换为标准 SQL。
在将其切换到标准 SQL 后,我尝试加入和 rank(),但收到一条错误消息:
“参数数量与分析函数 RANK 不匹配。支持的签名:RANK()”
这是否意味着函数 RANK() 在 SQL 标准中不起作用?Bigquery 突出显示“RANK(MILESTONE)”作为错误。
非常感谢您的帮助。
sql - 根据列重复字符串 - BigQuery/SQL 标准
这应该很容易,但我陷入了困境。
它像图像一样简单,但是我有一个名为“类别”的列,一旦该行有一个类别,我希望这个值在一个新列中重复 'n' 次,比如说 10 次(或我想要的任何值) .
我尝试使用FIRST_VALUE()
,但没有关于何时出现此类别的模式,因此大多数时候我将“null”作为重复。
我见过ROW_NUMBER() OVER(PRECEDING AND FOLLOWING)
,但我不能在其中使用字符串,只是一个聚合,我不想计算,我想分类。我什至尝试使用CASE WHEN xxx category * 10
等,category + 10
但当然不起作用。
有什么建议吗?谢谢!
我试过的:
sql - 在 2 个日期之间选择值时得到不正确的结果
我正在尝试运行以下查询以选择两个日期之间的一些结果,但由于条件不存在,我得到了结果。那么这里有什么问题呢?