问题标签 [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 投票
10 回答
118132 浏览

sql - 如何在不排序的情况下执行 UNION?(SQL)

UNION连接两个结果并删除重复项,同时UNION ALL不删除重复项。
UNION还对最终输出进行排序。

我想要的是UNION ALL没有重复和没有排序。那可能吗?

这样做的原因是我希望第一个查询的结果位于最终结果之上,而第二个查询位于底部(并且每个查询都像单独运行一样排序)。

0 投票
1 回答
1146 浏览

sql - 如何从具有 UNION ALL 的查询中获取优化的分页列表?

我有一个由两个表中的 UNION ALL 形成的查询。必须对结果进行排序和分页(如 Web 应用程序的典型列表)。

原始查询(简化)是:

问题是2张表每张都超过100万行,查询很慢。

如何从 UNION ALL 获得优化的分页列表?

发布数据:

我使用了 Stack Overflow 的搜索,发现了一些类似的问题,但答案不正确或问题不完全相同。两个例子:

优化 UNION mysql 查询

在 MySQL 查询中结合 UNION 和 LIMIT 操作

我很惊讶在 Stack Overflow 中没有人能回答这个问题。也许不可能更有效地执行此查询?有什么办法可以解决这个问题?

0 投票
3 回答
327 浏览

sql-server - 如何在使用 UNION 的数据库中查找所有对象

如何找到包含 UNION 关键字的所有视图和 SP?

(替代问题:SP 和视图的文本存储在哪个系统表中)

谢谢

0 投票
3 回答
250 浏览

mysql - 使用大型数据集在 MYSQL 中模拟完全连接

我有三个表,我需要根据一个公共字段加入它们的数据。

示例伪表定义:

barometer_log(设备,压力浮动,采样时间时间戳)

temperature_log(设备整数,温度浮点数,采样时间时间戳)

幅度日志(设备整数,幅度浮点数,utcTime 时间戳)

每个表最终将包含数十亿行,但目前每个表包含大约 500,000 行。

我需要能够将表​​中的数据(FULL JOIN)组合起来,以便将sampleTime合并为一列(COALESE),从而为我提供以下行: 设备、采样时间、压力、温度、幅度

我需要能够通过指定设备以及开始和结束日期来查询数据,例如 选择 .... where device=1000 and sampleTime between '2011-10-11' and '2011-10-17'

我尝试了使用 RIGHT 和 LEFT 连接的不同 UNION ALL 技术,如MySql full join (union) and ordering on multiple date columnsMySql full join (union) and ordering on multiple date columns,但查询时间太长,我必须运行数小时后停止它或引发有关临时文件大小的错误。对我来说,查询这三个表并在可接受的时间范围内合并它们的输出的最佳方法是什么?

这是建议的完整表定义。注意:未包含设备表。

幅度日志

气压计日志

温度日志

0 投票
4 回答
381 浏览

sql - SQL - 是否可以将表连接到由多个 select/union-alls 创建的结果集?

我试图找到一种解决方法(hack)来解决一些限制,这些限制阻止我在我的 SQL 查询中使用临时表或表变量。

我有一个真实的表(从技术上讲,它是一个派生表,它是由一个设计不佳的表的 UNPIVOT 产生的),它缺少几个必要的字段。我需要将这些字段硬编码到结果中,直到我们可以清理数据库问题。

给定一个像这样的表:

我需要加入几个领域,例如:

加入将导致:

我的问题是:我可以将 tblEntity 加入到创建的结果集中,例如:

是否可以加入?如果是这样,语法是什么?

0 投票
2 回答
72 浏览

mysql - 在两个表中搜索并按出现的术语排序

我有这个查询要在两个 SQL 表中搜索。我正在寻找一种按事件对结果进行排序的方法。这是我的查询:

获得排序结果的最佳方法是什么?

0 投票
1 回答
765 浏览

php - 使用 UNION ALL SQL 查询获取更多值

我正在使用此查询从两个表中获取结果:

我想从中选择更多值wp_forum_threads。之类的值subject。我怎样才能做到这一点?简单地在后面添加id是行不通的。那么查询不返回任何结果。

0 投票
1 回答
439 浏览

sql - 将预先连接的表与另一个表合并

我正在尝试将预先加入的表与另一个表并排加入,但它似乎不起作用。

这是代码:

这条线有问题

这是错误:

最后,我希望有一个表格,"domainid, domainstart, domainend, ddid, confid, chainid, pdbcode from conformer and the chain id"除此之外,我还想从另一个表格中获得一组新的列,例如"pdbcode from cath_domains, cathbegin, cathend".

来自conformer 和cath_domains 的pdbcode 相互匹配,因此我想交叉引用它们。

我做错了吗?

0 投票
2 回答
22635 浏览

sql - UNION ALL in CTE

I'm trying to get a UNION ALL working with a CTE which I'm using for paging. I need to get all records matching a set of criteria from two tables, then page the results. The first table's CTE looks like this:

The second table's paging SQL (which works fine) is:

For the combined paged data, I've tried something like:

However, this results in an error: All queries combined using a UNION, INTERSECT or EXCEPT operator must have an equal number of expressions in their target lists.

I know UNION ALLs can be confusing at the best of times, especially with joins, but I'm essentially getting a list of INT keys from two tables, then joining them to a third which contains the data I need (keys from both tables will be present in the joined column on the Data table.

0 投票
8 回答
27991 浏览

sql - “UNION ALL”视图的慢查询

我有一个数据库视图,它基本上由两个SELECT查询组成UNION ALL,如下所示:

问题是选择形式

执行起来真的很慢。

SELECT #1 和 #2 都相当快,索引正确等等:当我创建视图 v1 和 v2 时:

与上述相同的 SELECT,具有相同的 WHERE 条件,它们可以单独工作。

关于问题可能出在哪里以及如何解决它的任何想法?

(顺便提一下,它是最近的 Postgres 版本之一。)

编辑:添加匿名查询计划(感谢@filiprem 链接到一个很棒的工具):

v1:

v2:

五:

juliettime