问题标签 [union-all]

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.

0 投票
3 回答
1248 浏览

mysql - 如何有效地选择基于 SQL 中不同时间戳计算的几个总和的平均总和?

我有一个如下所示的数据库表:

现在,我想计算不同时间段内所有设备(= mac 地址)的平均负载,例如今天、昨天、本周、本月。

可以通过首先找出不同时间点(采样日期)的总负载总和,然后计算这些采样日期的负载总和的平均值来计算平均负载。例如,如果我想要最后十秒的平均负载(现在是 2012-02-07 12:00:10),我可以决定我的示例日期是 12:00:02、12:00: 04、12:00:06、12:00:08 和 12:00:10。然后,我将通过汇总每个设备的最新负载值来计算负载总和:

如果设备的负载值早于例如一个小时(这里发生在 id=1),则忽略该设备的负载值。在这种情况下,平均值为 16。

目前,我生成了一个相当复杂的查询,其中包含许多非常慢的“UNION ALL”语句:

现在想象一下,我想计算一整月的平均负载。对于每小时采样日期,我需要使用 UNION ALL 语句加入 30x24=720 个查询。在我的机器上完成整个查询需要将近一分钟。我确信没有 UNION ALL 语句会有更好的解决方案。但是,我没有在网上找到任何有用的东西。因此,我将非常感谢您的帮助!

0 投票
1 回答
278 浏览

xml - 使用 XML 与 INSERT...VALUES...SELECT...UNION ALL 进行多次插入

对于 SQL Server 2005,如果我想插入大约 20 或 30 行,每行包含三列,哪种方法更快更有效?调用应用程序是 C# 4.0 .Net 控制台应用程序。

a) 将值作为 XML 传递给存储的 proc 并对其进行解析并执行插入
或b)按照此处的建议
构造一个 SQL 命令: SQL Server 2005: Insert multiple rows with single query ?INSERT...VALUES... SELECT() UNION ALL

谢谢你。

0 投票
2 回答
265 浏览

php - 联合 SQL 问题

我最近注意到了 UNION 函数,并在 W3Schools 上看到你可以合并两个表,但我想合并三个......我已经编写了一段代码,但是它不起作用,因为我得到一个错误。是否可以合并三个表,我该如何实现?谢谢!

错误:

代码:

0 投票
2 回答
49242 浏览

c# - 如何在实体框架 LINQ To 实体中进行联合?

我遇到了一个必须使用 Union all 的场景,如何在 LINQ to entity 中实现这一点?

0 投票
2 回答
4457 浏览

php - 如何将 UNION ALL 查询的结果显示为链接?

使用 UNION ALL 时,我在将 sql 查询的结果作为链接回显时遇到问题。

表格如下所示:

表:帖子
id 用户名 日期 评论

表:文件
id 用户名日期文件

“文件”行包含上传文件的 url。

我用于显示结果的代码:

现在一切都按正确的顺序排列,但文件名不会显示为链接,只有纯文本。没有问题,如果我只在文件表上运行查询,则回显链接。

我想最大的问题是:如何将 UNION ALL 查询的结果显示为链接?

0 投票
2 回答
1333 浏览

sql - 提高性能 union all+group by+order by+count

我有一张桌子:物品(ID,描述)。在我的程序中,我得到一个单词列表(word1 到 wordN)作为输入,我需要计算这些单词中有多少出现在表中的每个描述中,并根据该数字对结果进行排序。这是我的解决方案,但我欢迎有关如何提高性能的建议。谢谢。

0 投票
1 回答
2757 浏览

mysql - 为什么带括号和不带括号的 UNION ALL 表现不同?

我通过两种方式实现了这个查询:

如您所见,区别仅在于第一个查询中的括号。在第一个查询中,我得到了预期的结果(从所有三个选择中获取所有值,无需解释)。但是当我继续进行第二个查询时,我得到了想要的结果,但没有达到预期的结果,这只是第一个 select 满足WHERE子句的值。也就是说,如果有race1, mode1where condition = 1,那么我只会得到那个结果。如果没有,那么我在race2, mode2哪里condition = 1。如果即使第二个 select 语句为空,我也会根据第三个 select 语句获取值。如果没有提供括号,为什么UNION ALL表现得像一个?OR

编辑:我正在使用 MySQL 5.0.51a

0 投票
2 回答
2872 浏览

sql - 让 Oracle 将 OR 连接的谓词转换为 UNION ALL 操作

UNION在某些情况下,UNION ALL查询可以胜过使用OR-connected 谓词的等效查询。据我所知,这部分是因为UNION子选择可以并行执行,因此它们可以有自己的“子计划”,特定于OR-connected 谓词的每个部分,由于更简单的适用查询转换,这可能更加优化。

但是OR,即使将子查询分解应用于UNION ALL解决方案,编写连接的谓词通常也更具可读性和简洁性。我的问题是:有没有办法向 Oracle 表明,一个单一的、昂贵的OR连接谓词应该转换为一个UNION ALL操作?如果有这样的提示/方法,在什么情况下可以应用(例如,谓词所涉及的列上是否需要存在任何约束等)?一个例子:

请注意,我知道/*+ USE_CONCAT */提示:

但它似乎并没有产生我需要UNION ALL的东西(执行计划中没有强制操作):

也许,这个提示有一些限制?我为此提供了 Oracle 11g2。

0 投票
2 回答
687 浏览

tsql - 存储过程联合所有问题

我有一个存储过程,我试图使用 组合两个不同的SELECT语句UNION ALL,但是在执行查询之后,只SELECT返回第一个中的项目。

我想从第一个和第二个 select 语句中获取所有项目。

这是我所拥有的:

0 投票
3 回答
479 浏览

performance - UNION ALL 耗时太长

我在多个表上聚集了数据,通常它们看起来像这样:

使用这些索引:

当我分析我的查询时,追加操作的总时间困扰着我。你能解释一下,为什么查询运行时间过长?有什么办法可以优化这样的查询吗?

更新:

还发布 SQL 查询: