繁体   English   中英

mysql-从每个类别中选择第二个博客

[英]mysql - select the 2nd blog from each category

如何从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

谢谢。

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 |
+---------+----------------+
SELECT MAX(post_id) post_ID, cate_id
FROM table1
GROUP BY cate_id

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM