php - Utilisez SQL pour interroger les 6 derniers messages sous chaque section du forum
ringa_lee
ringa_lee 2017-06-29 10:08:50
0
5
976

Tableau des sections du forum :

Tableau des messages du forum :

Rendu :

ringa_lee
ringa_lee

ringa_lee

répondre à tous(5)
给我你的怀抱

Référez-vous à ceci

为情所困

Si une instruction SQL ne peut pas faire cela, il est recommandé de parcourir toutes les sections, et chaque section peut être transformée en un index composite à l'aide de SELECT ... WHERE fid = ? ORDER BY dateline LIMIT 6 得到最新6条帖子,为提高效率,(fid, dateline).

De plus, il est possible d'utiliser une instruction SQL pour connaître les 1 derniers messages de chaque forum, mais ce n'est pas facile. Essayez :-)

淡淡烟草味

Utilisez union, puis (fid, dateline) plus l'index conjoint

扔个三星炸死你

Si vous devez utiliser une phrase, utilisez union

学习ing

S'il y a plusieurs sections, l'union est plus gênante. Le SQL suivant peut obtenir le résultat
Si votre tid et votre dateline sont dans le même ordre, vous pouvez écrire comme ceci :

select * 
from t_tbl a
where 
    (select count(1) 
     from t_tbl b
     where b.fid=a.fid and a.tid>b.tid)<6 
order by fid,tid;

Si la commande est incohérente, utilisez ce qui suit :

select aa.* 
from 
    (select fid,tid,title,content,dateline,(@rownum:=@rownum+1) rn 
     from t_tbl,(select @rownum:=1) a 
     order by fid,dateline) aa 
where 
    (select count(1) 
     from 
         (select fid,tid,title,content,dateline,(@rownum:=@rownum+1) rn 
          from t_tbl,(select @rownum:=1) a 
          order by fid,dateline) bb 
     where bb.fid=aa.fid and aa.rn>bb.rn)<6;

·························Ligne de séparation················· · ·············
De plus, vous pouvez également introduire le numéro de ligne au sein du groupe, ce qui semble plus simple :

select 
    fid,title,content,dateline 
from (
    select 
        @gn:=case when @fid=fid then @gn+1 else 1 end gn,
        @fid=fid fid,
        title,
        content,
        dateline
     from t_tbl,(select @gn:=1) a
     order by fid,dateline) aa
where gn<7;
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal