gpt4 book ai didi

mysql - 在单个查询中获取在线用户和离线用户,而不是两个单独的查询?

转载 作者:行者123 更新时间:2023-11-29 04:00:46 42 4
gpt4 key购买 nike

我有一个名为 users 的表,它有两列,id 和 last_activity,

目前我这样做是为了让所有在线的用户都在线

SELECT * FROM users WHERE last_activity + 300 > NOW();

这样做是为了吸引线下用户

SELECT * FROM users WHERE last_activity + 300 < NOW();

然后组合结果以根据状态将它们显示在带有特定图标(绿色或红色)的页面上。

我如何在动态中添加一列,例如 (is_online) 此列应与每一行相关联,因此我可以获得如下所示的内容。所以我可以将上面的两个查询组合在一个查询中,并且以后能够区分用户的状态?

id    | is_online
1337 | 1
1334 | 1
XXXX | 0

列 is_online 实际上并不存在于表中,我想即时创建它并给它赋值 1 如果 last_activity+300>NOW() 否则给它赋值 0

最佳答案

MySQL 将 bool 表达式视为整数。你可以这样做:

SELECT u.*, (last_activity + 300 > NOW()) as is_online
FROM users u;

关于mysql - 在单个查询中获取在线用户和离线用户,而不是两个单独的查询?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25754471/

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