mysql - 在 SELECT 中设置一个包含 2 个元素的 var

标签 mysql sql triggers

我只想获取 COUNT(page_ID) 值作为 @current_rank,但我被迫更多地使用 MAX( rating_time) 因为我可以有多个尊重 WHERE 子句的“page_ID”记录,但在不同的日期(“rating_time ”)。

在这些潜在的多个 page_ID 记录中,我想要最新的。

SET @current_rank = (SELECT COUNT(page_ID), MAX(rating_time)
    FROM ranks_update
    WHERE ranking_ID = NEW.ranking_ID
        AND page_ID <> NEW.page_ID 
        AND current_sum_vote >= @current_sum_vote
        AND rating_time >= ( *** a subquery *** ) 
    GROUP BY page_ID);

PS:我在 MySQL 中使用触发器。

最佳答案

尝试

SELECT @current_rank = COUNT(page_ID), @max_rating = MAX(rating_time)
    FROM ranks_update
    WHERE ranking_ID = NEW.ranking_ID
        AND page_ID <> NEW.page_ID 
        AND current_sum_vote >= @current_sum_vote
    GROUP BY page_ID;

关于mysql - 在 SELECT 中设置一个包含 2 个元素的 var,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11788878/

相关文章:

mysql - 亚马逊 AWS RDS : how to make the database Publicly Accessible to the internet

c# - 如何循环遍历数据表中的每一行并在mySQL中插入数据

php - mysql 插入时触发

wpf - 事件触发器中的条件

php - 如何在php中的MySQL连接字符串中传递变量

mysql - 在另一个表上使用条件来使用 sum()

sql - 当我在所有对象中添加架构名称时出现错误 : Relation "abc.emp_audit" does not exist.。没有架构就可以正常工作

sql - 在 SQL Server 中格式化小数的好方法

c# - 将日期时间作为包含数量字段的列的 SQL 透视

javascript - 单击触发器不适用于 anchor 标记。为什么?