mysql - 从表中获取同一用户的多个条目的最新条目

标签 mysql

我有两张 table 。 表 A 和表 B

表 A 包含各个用户的详细信息。

表B包含3列,分别是“is_completed”、“user_id”和“work_id”......

表 B 跟踪用户完成的工作的详细信息以及工作是否完成。如果完成,则可以为该用户分配其他工作。

问题陈述: 我给用户 1 分配了一项工作,他的 is_completed 为 0(工作未完成)...现在我假设几天后,他的工作完成了,所以我将 is_completed 设置为 1,但同时我将另一项工作分配给了相同的用户 1,现在 is_completed 为 0。所以我有两行相同的用户,在表 B 中,一行 is_completed 为 1,另一行 is_completed 为 0。

如何获取最新的 is_completed,即用户 1 正在工作或忙?

最佳答案

SELECT COUNT(DISTINCT t.work_id) AS working FROM
(
    SELECT * FROM
    FROM TableB
    WHERE user_id = 1
    ORDER BY work_id DESC LIMIT 2;
) AS t

结果:

+---------+
| working |
+---------+
|    1    |   // not working
|    2    |   // working
+---------+

如果用户 1 当前正在执行任务,则此查询将返回 2,表示最近的 work_id 只有一条记录。如果用户完成了之前的任务并且还没有收到新的任务,它将返回1,表示最近的work_id有两条记录(开始和停止)。

我假设分配的work_id始终在增加。

关于mysql - 从表中获取同一用户的多个条目的最新条目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29408051/

相关文章:

mysql - 在事务中包装 SQL 语句

php - 如何对 mysql 数据库进行多部分 PHP 查询

MySQL 连接表,其中第二个表至少有一个 NULL 字段作为键

mysql - 在 MySQL SERVER 8.0 中,PASSWORD 函数不起作用

mysql - mysql存储过程concat()长字符串

php - 如何在一个函数内部调用另一个函数

php - 加载数据失败。没有返回错误,也没有导入记录

mysql - 加入选定的列

mysql - 在 .htacces magento 上将 non.www 的规则重写为 https 到 www.https

java - Swing 错误 ClassCastException