首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MySQL -对记录分组执行检查

MySQL -对记录分组执行检查
EN

Stack Overflow用户
提问于 2013-06-30 10:05:08
回答 1查看 38关注 0票数 1

我有这样一个结果集:

代码语言:javascript
复制
"id","reference_id","type"
"1","aaa","A"
"2","aab","M"
"3","aac","A"
"4","aaa","M"
"5","aaa","E"
"6","aab","M"
"7","aac","M"
"8","aab","D"
"9","aac","M"

我想使用sql对其运行一些验证。

  • 每个reference_id生命周期必须只包含一个"A";
  • 每个reference_id生命周期必须包含至少1 "E“和/或1 "D";

我如何遍历结果集并执行每组记录(reference_id)的检查。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-06-30 10:12:26

(更新)尝试:

代码语言:javascript
复制
select r.* 
from my_result_set r
join (select reference_id
      from my_result_set
      group by reference_id
      having sum(case type when 'A' then 1 end) = 1 and
             sum(case when type in ('D','E') then 1 end) >= 1) s
  on r.reference_id = s.reference_id

SQLFiddle 这里.

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17389226

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档