我有这样的餐桌安排:
帖子可以是普通的“帖子”或评论。当这是一个注解时,它包含一个值 comment_of
指出这是某个特定帖子的评论。另一方面,这个评论可以是固定的或没有,如果 fixed=1
(固定)
问题
我想知道是否可以使用 php
like语句在注解之间检索不同的数量、顺序和分组,以防存在固定的post fixed=1
.
桌柱
id_post | post | comment_of | fixed | date
1 hi 0 0
2 hello 0 0
3 comment 1 0
4 comment 1 0
5 comment 1 0
6 comment 1 0
7 comment 1 0
8 comment 1 0
9 comment 1 1 //(fixed - removed or not to show different outputs)
10 comment 1 0
11 comment 1 0
12 comment 1 0
13 comment 1 0
sql(mysql)
SELECT p.*
FROM table_posts p
WHERE p.comment_of='1'
if(p.fixed==1){
GROUP BY p.fixed,p.id_post
ORDER BY p.fixed DESC,p.date DESC
LIMIT 8
}else{
ORDER BY p.date DESC
LIMIT 7
}
存在固定注解时输出
last 8 results (because it has a fixed post)
9 comment 1 1 (fixed)
6 comment 1 0
7 comment 1 0
8 comment 1 0
10 comment 1 0
11 comment 1 0
12 comment 1 0
13 comment 1 0
不存在固定注解时的输出
last 7 results only (because there is no a fixed post)
6 comment 1 0
7 comment 1 0
8 comment 1 0
10 comment 1 0
11 comment 1 0
12 comment 1 0
13 comment 1 0
1条答案
按热度按时间7lrncoxx1#
如果在这两种情况下都可以得到8行,那么修改您的查询将得到您想要的结果,我只是删除了group by,ordering by fixed将首先得到fixed(如果存在),然后所有非fixed(0)将按p date排序