使用group by和condition on value的值

时间:2017-07-17 05:04:02

标签: php mysql sql laravel

我有一张这样的表:

id    tr_id   type
1       1      1        
2       1      1        
3       2      1        
4       2      2        
5       4      1        
6       4      1
7       3      1
8       3      2
9       5      1

我希望获得tr_id group by此列的所有type 1 ,并且不存在type 1 的所有记录{ {1}}值 2 3 4 ......

我的表的结果必须是:

tr_id
  1

  4

  5

2 个答案:

答案 0 :(得分:1)

考虑到类型列

中没有负数
select tr_id   
from yourtable 
group by tr_id   
Having sum(distinct type) = 1

如果type列可以有负数,那么

select tr_id   
from yourtable 
group by tr_id   
Having sum(type) = count(case when type = 1 then 1 end)

答案 1 :(得分:0)

YourModel ::选择( 'tr_id) - > GROUPBY(' tr_id ') - 化合物其中(' tr_id”,1) - >得到();