select * from company y where (select count(1) from company where cate=t.cate and cteated>t.created)<=10
我的想法,不过效率是个问题SELECT DISTINCT a.* FROM dis a INNER JOIN ( SELECT SUBSTRING_INDEX(GROUP_CONCAT(d.name),',',2) AS NAME FROM dis d GROUP BY d.version ) c ON c.name REGEXP a.name
from 同一个表 a
where 10>=(select count(*) from 同一个表 where a.班级=班级 and a.score<score)
我有一张公司表company,每一个公司的分类为不同的cate,分类的个数未知,需要查库才知道,我想列出每一个公司分类下的前十个公司的名字company_name,用created排序。
*
from
company y
where
(select count(1) from company where cate=t.cate and cteated>t.created)<=10
FROM dis a INNER JOIN
(
SELECT SUBSTRING_INDEX(GROUP_CONCAT(d.name),',',2) AS NAME
FROM dis d
GROUP BY d.version
) c
ON c.name REGEXP a.name
$row = array(
'1' => array(
0 => array('name' => 'aaaa', 'cate' => 1,
1 => array('name' => 'bbbb', 'cate' => 1,
2 => array('name' => 'cccc', 'cate' => 1,
....
9 => array('name' => 'jjjj', 'cate' => 1,
),
'2' => array(
0 => array('name' => 'aaaa', 'cate' => 2,
1 => array('name' => 'bbbb', 'cate' => 2,
2 => array('name' => 'cccc', 'cate' => 2,
....
9 => array('name' => 'jjjj', 'cate' => 2,
),
....);
$row = array(
'1' => array(
0 => array('name' => 'aaaa', 'cate' => 1,
1 => array('name' => 'bbbb', 'cate' => 1,
2 => array('name' => 'cccc', 'cate' => 1,
....
9 => array('name' => 'jjjj', 'cate' => 1,
),
'2' => array(
0 => array('name' => 'aaaa', 'cate' => 2,
1 => array('name' => 'bbbb', 'cate' => 2,
2 => array('name' => 'cccc', 'cate' => 2,
....
9 => array('name' => 'jjjj', 'cate' => 2,
),
....);