gpt4 book ai didi

mysql - MariaDB 循环不显示查询结果

转载 作者:行者123 更新时间:2023-11-29 07:24:18 26 4
gpt4 key购买 nike

我有一个简单的查询:

SELECT COUNT(ud.UserID), COUNT(DISTINCT ud.ProductID)
FROM users_data AS ud
JOIN products AS t ON t.ID = ud.ProductID
WHERE ud.UserID = '3'

结果是:

COUNT(ud.UserID)    COUNT(DISTINCT ud.ProductID)
519 425

当我尝试在 while 或 for 循环中包含时:

DELIMITER //

SET @i = 0;
FOR i IN 1..10
DO SELECT COUNT(ud.UserID), COUNT(DISTINCT ud.ProductID)
FROM users_data AS ud
JOIN products AS t ON t.ID = ud.ProductID
WHERE ud.UserID = (i)
END FOR
//

除以下内容外,我没有得到任何输出:

Query executed OK, 0 rows affected.

还有什么我想念的吗?谢谢。

最佳答案

为什么要使用循环?这作为一个简单的查询要好得多:

SELECT ud.UserId, COUNT(*), COUNT(DISTINCT ud.ProductID)
FROM users_data ud
GROUP BY ud.UserID;

如果你想要特定的用户,你可以使用WHERE子句:

SELECT ud.UserId, COUNT(*), COUNT(DISTINCT ud.ProductID)
FROM users_data ud
WHERE ud.UserId IN (1, 2, 3, 4, 5, 6, 7, 8, 9, 10)
GROUP BY ud.UserID;

注意:我认为 JOIN 不是必需的。

关于mysql - MariaDB 循环不显示查询结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54700958/

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