首页 > 解决方案 > 根据条件获取mysql中的条目

问题描述

我想查询和过滤用户 1、2、3 的表 objectDetails(我们将获得 id 为:1、2、3、4、5 的行)。如果共享对象的状态为 3,那么它应该丢弃状态小于 3 的行(这里应该丢弃 id 为 4 和 5 的行)。在这里,我们应该得到 id 为 1,2,3 的行作为输出。

下表是: objectDetails:对象可以由多个用户共享。状态可以在 1 到 3 之间。

id, Object , user, status
1 , 00110   , 1      , 1
2 , 00111   , 2      , 2
3 , 00112   , 3      , 3
4 , 00112   , 1      , 1 
5 , 00112   , 2      , 2 
6 , 00113   , 4      , 1 
7 , 00114   , 5      , 2 

标签: mysql

解决方案


在这里,我过滤了用户的数据并将跨用户共享的对象分组。然后为用户取出对象分组数据中的最大状态。
从 objectDetails 中选择 id, max(status) 作为状态,其中用户在 (1,2,3) GROUP BY object 中


推荐阅读