gpt4 book ai didi

mysql - 如何使用另一个表中的 select count(id) 设置 LIMIT 的值|MySQL

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

我有一个场景,结果必须受到限制,这取决于计算另一个表中的 ID。

假设我有这两个表 counterdispanser,

我想选择counter中的最后一条记录,并通过计算dispanser表中的记录数来限制选择。

像这样

select * from counter limit (select count(dispID) from dispanser) 

最佳答案

如果不使用准备好的语句或存储过程,就无法做到这一点。来自manual :

LIMIT takes one or two numeric arguments, which must both be nonnegative integer constants

在存储过程中,您可以这样做。 COUNT(dispID) 存储到 cnt 中,然后该变量用作 LIMIT 的参数。这是上述规则的异常(exception)情况。

DELIMITER //
CREATE PROCEDURE select_counter()
BEGIN
DECLARE cnt INT;
SELECT COUNT(dispID) INTO cnt FROM dispanser;
SELECT * FROM counter LIMIT cnt;
END //
DELIMITER ;

DBFiddle

关于mysql - 如何使用另一个表中的 select count(id) 设置 LIMIT 的值|MySQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53234654/

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