select t.cate_id,min(t.post_id)
from (select cate_id, min(post_id) post_id from foo group by 1) firsts
inner join foo t on t.cate_id=firsts.cate_id and t.post_id > firsts.post_id
group by 1;
鉴于:
mysql> select cate_id, group_concat(post_id order by post_id) from foo group by 1;
+---------+----------------------------------------+
| cate_id | group_concat(post_id order by post_id) |
+---------+----------------------------------------+
| 0 | 0,1,3,4,7 |
| 1 | 0,1,2,4,6,8,9 |
| 3 | 7,11 |
| 4 | 2,3 |
| 5 | 1,3,9 |
| 6 | 0,2,5,6,7,8,9 |
| 7 | 0,2 |
| 8 | 0,1,4,6,7,8,9 |
| 9 | 1,2 |
+---------+----------------------------------------+
产生:
mysql> select t.cate_id,min(t.post_id) from (select cate_id, min(post_id) post_id from foo group by 1) firsts inner join foo t on t.cate_id=firsts.cate_id and t.post_id > firsts.post_id group by 1;
+---------+----------------+
| cate_id | min(t.post_id) |
+---------+----------------+
| 0 | 1 |
| 1 | 1 |
| 3 | 11 |
| 4 | 3 |
| 5 | 3 |
| 6 | 2 |
| 7 | 2 |
| 8 | 1 |
| 9 | 2 |
+---------+----------------+