gpt4 book ai didi

mysql - 如何在嵌套 SELECT 中存储结果行数?

转载 作者:行者123 更新时间:2023-11-30 23:43:11 25 4
gpt4 key购买 nike

我有一个 MySQL 查询,其中有一个嵌套的 SELECT,它向父级返回一个数组:

SELECT ...
FROM ...
WHERE ... IN (SELECT .... etc)

我想存储从嵌套 SELECT 返回的结果数(行数),但是执行类似 IN (SELECT count(...), columnA) 的操作不起作用,因为 IN 只需要一个结果。

有没有办法存储返回的结果计数以供以后在父语句中使用?

最佳答案

您可能必须将嵌套语句的结果选择到一个临时表中。然后你可以做一个 IN 并稍后对其进行计数。我更熟悉 MS-SQL,但我认为你应该能够这样做:

CREATE TEMPORARY TABLE tmp_table AS
SELECT something
FROM your_table;

SELECT ...
FROM ...
WHERE ... IN (SELECT * FROM tmp_table);

SELECT count(*) FROM tmp_table;

如果这不起作用,您可能必须像使用普通的“CREATE TABLE”一样为临时表创建语句提供完整的详细信息。参见 here在 MySQL 手册中,和 here对于类似的例子。

CREATE TEMPORARY TABLE tmp_table
(
tableid INT,
somedata VARCHAR(50)
);

INSERT INTO tmp_table
SELECT ...
FROM ...

SELECT ...
FROM ...
WHERE ... IN (SELECT * FROM tmp_table);

SELECT count(*) FROM tmp_table;

丰富

关于mysql - 如何在嵌套 SELECT 中存储结果行数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/901481/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com