情况: 我有一个场景,其中除了一个字段之外,我获取的所有字段都相同的数据。我编写了一个存储过程来获取数据,使用来自不同表的许多连接。就我而言,根据具体情况,我需要两种情况之一。 例如:
实际案例
|UserId | First name | Last name | IsRequired | IsDeleted |
1 harry tom true false
1 harry tom false false
3 ram sham true false
场景:
如果有两条记录分别为 IsRequired true 和 false,那么我需要一个 IsRequired true 的案例。
问题:
现在的问题是我需要过滤掉select语句中的记录。
因此任何人都知道如何在 select 语句中执行此操作。
预期情况:
| UserId | First name | Last name | IsRequired | IsDeleted |
1 harry tom true false
2 ram sham true false
最佳答案
更新的解决方案:
SELECT UserId, First name, Last name, IsRequired, IsDeleted FROM table WHERE UserId IN (SELECT UserId FROM users GROUP BY UserId HAVING count(distinct(IsRequired)) > 1) and IsRequired = 'true'
UNION
SELECT UserId, First name, Last name, IsRequired, IsDeleted FROM table WHERE UserId IN (SELECT UserId FROM users GROUP BY UserId HAVING count(IsRequired) = 1)
请参阅http://sqlfiddle.com/#!3/d178f/1/0
复制了完全相同的数据库结构。
关于mysql - 获取特定条目以防重复条目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23650246/