0

如何从 php mysql 中的每个类别中获取第二个帖子?

如果我有如下表格:

post_id  |   cate_id
--------------------

   1     |      2
   2     |      4
   3     |      2
   4     |      1
   5     |      1
   6     |      3
   7     |      4
   8     |      3
   9     |      5
   10    |      5

预期结果如下:

post_id  |   cate_id 
--------------------

    5    |     1
    3    |     2
    8    |     3
    7    |     4
    10   |     5

谢谢。

4

2 回答 2

1
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 |
+---------+----------------+
于 2013-05-21T07:22:08.210 回答
0
SELECT MAX(post_id) post_ID, cate_id
FROM table1
GROUP BY cate_id
于 2013-05-21T07:07:19.037 回答