Mysql sql语句的结果有问题
我使用SQL语句实现了以下场景, 我有一个问题分配给分组分诊、GX、GY: 组分类-->组GX 组GX-->组分类 组分类-->组分类 我只想在第一次将问题分配给组分流时提取,而忽略其余部分,我尝试过这样做,但结果总是不好(将问题分配给分流组时检索所有行) SQL语句:Mysql sql语句的结果有问题,mysql,sql,Mysql,Sql,我使用SQL语句实现了以下场景, 我有一个问题分配给分组分诊、GX、GY: 组分类-->组GX 组GX-->组分类 组分类-->组分类 我只想在第一次将问题分配给组分流时提取,而忽略其余部分,我尝试过这样做,但结果总是不好(将问题分配给分流组时检索所有行) SQL语句: select g.created ,ji.pkey as issueName from changegroup g join changeitem ci on (ci.groupid = g.id
select g.created ,ji.pkey as issueName
from changegroup g
join changeitem ci on (ci.groupid = g.id)
join jiraissue ji on (ji.id = g.issueid)
join project p on (p.id = ji.project)
join priority pr on (pr.id = ji.priority)
where ci.field = 'Group'
and ci.oldString = 'Triage'
and p.pname = 'Test'
and pr.pname='P3'
and ji.created between '2011-08-11 14:01:00' and '2011-08-12 14:11:00'
语句的结果(如您所见,问题200被分配给组分类2次,因此请求检索2行):
表更改组具有以下结构:
表changeitem具有以下结构:
试试这个。但这可能非常缓慢
select g.created, ji.pkey as issueName
from changegroup g
join jiraissue ji on (ji.id = g.issueid)
where (g.created, issueName) in (
select min(g.created) ,ji.pkey as issueName
from changegroup g
join changeitem ci on (ci.groupid = g.id)
join jiraissue ji on (ji.id = g.issueid)
join project p on (p.id = ji.project)
join priority pr on (pr.id = ji.priority)
where ci.field = 'Group'
and ci.oldString = 'Triage'
and p.pname = 'Test'
and pr.pname='P3'
and ji.created between '2011-08-11 14:01:00' and '2011-08-12 14:11:00'
group by issueName
)