Mysql查询获取每种类型的有限行

前端之家收集整理的这篇文章主要介绍了Mysql查询获取每种类型的有限行前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

我在MysqL中有一个名为companies的表,每个公司都有一个类型1类型,类型2类型3,

例如:

id   company_name   company_type
===============================
1    test1          3
2    xyz            2
3    ashdasdjk      2 
4    test 4         1 
5    test           3 
6    ahsdkjsg       1
7    TCS            2
and so on ...

现在我想写一个查询获取结果,这样我就得到20个类型1的公司,20个公司的类型2和20个公司的类型3 …我的意思是我想要获取最多20个公司的每种类型

我正在使用Codeigniter ..

最佳答案
select * from (
    select
    c.*,@rn := if(company_type != @ct,1,@rn + 1) as rownumber,@ct := company_type
    from
    companies c,(select @rn := 0,@ct := null) var_init
    order by
    company_type
) comp
where rownumber <= 20;

猜你在找的MySQL相关文章