问题标签 [in-subquery]

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 投票
8 回答
39610 浏览

mysql - MySQL 在哪里

有没有办法(没有 JOIN)WHERE在 2 列(或)IN子查询上使用子句?目前,我正在做

而且我相信我可以做得更好:)。我也试过WHERE ('col1', 'col2') IN <subquery>,但 MySQL 说:Operand should contain 2 column(s)

谢谢你的帮助。

编辑:通过“不加入”,我的意思是我已经做了很多加入:http ://pastebin.com/bRfD21W9 ,正如你所看到的,子查询在另一个表上。

0 投票
1 回答
76 浏览

mysql - MySQL 在使用 IN(SUBQUERY) 时忽略索引?

我有以下查询。

这会产生大约需要 5 秒的输出。

但是,如果我将查询更改为作为两个单独的查询运行,例如:

然后这会产生大约 0.05 秒的输出。

EXPLAIN 显示以下内容(为可怕的缩进道歉):

对比

为什么我使用子查询的查询不使用索引?

此外,如果 table2 中我的一组 ID 的大小超过 650,则在执行 IN(_results_from_first_query_) 示例时,索引也会由于某种原因被删除。为什么是这样?

0 投票
2 回答
60 浏览

mysql - 显示多于一行的键的所有行

我想显示 init 超过一行的所有行:

我试过了:

实际上,该表有 60000 行,查询是

但这需要大量时间,phpmyadmin 和我的耐心都用完了。

两个都

“无时间”运行,不到 0.02 秒。

我尝试了不同的子查询,但都需要“无限”时间,超过几分钟;我实际上从来没有让他们完成。

0 投票
2 回答
349 浏览

mysql - MYSQL 内连接并从子查询中获取值

好的,我正在尝试比较两个表,然后从三分之一的名称中输入一个列表,以生成前 10 天的总值。查询运行,但给我一个 NULL 结果,只有一个结果。如果我删除 DATE_ADD 并将其替换为数据库中的真实日期并为 left 子句输入一个值而不是使用子查询,我确实得到了我正在寻找的特定日期。我想做的是创建一个名称列表,其中包含当天和过去 10 天的值。我确信我做的不对,所以任何帮助都会受到赞赏,因为我对此很陌生。简单的查询很容易,但像这样复杂的东西对我来说是新的。

0 投票
2 回答
50 浏览

sql - 需要优化不在sql语句中

我有一个 sql 查询:

由于person_history包含大量记录,此查询耗时过长。

如何优化此代码?

0 投票
1 回答
421 浏览

rethinkdb - 在 ReQL/Rethink 中使用子查询过滤掉结果?

我正在尝试更多地了解 RethinkDB 及其子查询功能。我想知道在 ReThinkDB 中是否可以进行以下操作:

0 投票
3 回答
60 浏览

mysql - WHERE [1 个这些值] IN [1 个这些值]

我有以下查询:

当我的第一个子查询仅返回 1 个值时,此查询运行良好,因为这就是 IN() 的工作方式,在一组值中查找 1 个唯一值。当我的第一个子查询返回 2 个或更多值时,MySQL 会返回“子查询返回超过 1 行”。当第一个子查询返回多个值时,如何使我的查询有效?像“我在 [这些值中的任何一个] 中找到的 [这些值中的任何一个]”之类的东西?

0 投票
2 回答
46 浏览

mysql - 在 mysql 3.23 上为每个 ID 选择最大值

整个问题是由于IN子句中的子查询似乎不适用于 mysql 3.23。

这是table1的表结构:

这是表2:

我想要实现的目标:

加入这两个表只是为了获得描述,但我只想要每行的 1 条记录,其中的最大版本是这样的:

这是我想出的:

我已经在 2 个不同版本的 mysql 上测试了这个查询。我需要这个工作的一个是 3.23,这个查询工作的一个是 5.5。

有没有办法在 3.23 上实现这一点?

0 投票
4 回答
336 浏览

mysql - 有人可以帮我优化这个mysql语句吗?

我有一张表,用于在我的数据库中构建组。该表包含组名称和 ID 的列表。我有另一个包含用户的表,以及显示关系的第三个表。(用户标识,组标识)。

情况是这样的,我需要创建一个属于特定组子集的用户 ID 列表。例如,我想要组 1、3 和 8 中的所有用户。这很简单。但它变得更加复杂,我可能需要一个包含在组 1、3 和 8 或 1、2 和 8 中的所有用户的列表。然后我可能需要排除符合该标准但也在组中的用户27.

所以我有一个脚本动态地创建一个查询,使用子查询在一定程度上起作用。我有两个问题。我认为我没有正确处理非部分,因为当我广告标准时,最终它只是有点挂起。(我认为这是我使用子选择而不是连接的结果,但我无法弄清楚如何使用连接来构建它。)

下面是一个带有 4 个 ANDed OR 组和 2 个 NOT 子句的查询示例。

请让我知道是否有更好的方法来优化这个 stmt。(我可以在 PHP 中处理它的动态构建)

如果我需要澄清任何事情或提供更多细节,请告诉我。

请注意,查询的第一部分是将 id 与用户名进行比较。这是因为我将用户名存储为另一个表中的 id。(这整个事情是两个完全不同的数据库之间的链接)。

(另外,如果看起来我有任何额外的子查询,那就是试图强制 mysql 首先评估内部查询。)

谢谢。

亚伦。

0 投票
1 回答
1838 浏览

c# - Dapper.Net:IEnumerable参数引发异常:不存在从对象类型 System.Int64[] 到已知托管提供程序本机类型的映射

我在以下代码中针对 SQL Server 2008 R2 使用 Dapper.Net 来传递List<long>参数以运行具有 WHERE IN 子句的 SQL 查询,但出现异常:

不存在从对象类型 System.Int64[] 到已知托管提供程序本机类型的映射。

顺便说一下,company_name_id 和 Industry_id 是 bigint 类型。

我确实在 github文档中看到 Dapper 具有 List 支持,但我想知道List<long>是否支持。

根据https://code.google.com/p/dapper-dot-net/上的旧文档,似乎只支持int[]