mysql - 根据条件获取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
解决方案
在这里,我过滤了用户的数据并将跨用户共享的对象分组。然后为用户取出对象分组数据中的最大状态。
从 objectDetails 中选择 id, max(status) 作为状态,其中用户在 (1,2,3) GROUP BY object 中;
推荐阅读
- sql - 当第二个表中存在多个值时获取数据
- python - 为 python matplotlib.pyplot 等高线图指定 x 和 y 范围
- python - Python 列表中的一个或多个元素的总和或值等于给定条件
- ansible - 如何从 win_certificate_store 中获取指纹?
- c++ - 此代码段中是否会发生死锁,为什么?
- c++ - Windows 功能“NetUserChangePassword”在 Windows 10 下不再工作(在 Windows 7 下工作)
- android - 具有相同 SHA1 的多个应用程序
- rotation - 如何在 JavaFX 中对形状应用转换?
- php - php 7.2 未安装但显示在 php -v
- postman - 预请求脚本中的邮递员请求正文