有这样两张表volume 剧本分卷表

字段  注释
volid  分卷ID
title  分卷名称
dateline  发布时间section 剧本章节表

字段 注释
secid 章节ID
volid 分卷ID
subject 章节标题
dateline 更新时间我想先查询出分卷,然后每个分卷中都显示最新的一个章节,用一句sql语句怎么实现?
SELECT v.*,s.subject FROM volume v LEFT JOIN section s ON s.volid=v.volid
用left join 能不能实现降序的?

解决方案 »

  1.   

    当然可以,直接跟上 ORDER BY volid DESC//换成你想要的就是,一样的啊
      

  2.   


    SELECT v.*,s.subject FROM volume v LEFT JOIN section s ON s.volid=v.volid
    ORDER BY s.dateline WHERE v.volid>2 DESC ORDER BY v.dateline DESC这样? 这样报错的
      

  3.   


    SELECT v.*,s.subject FROM volume v LEFT JOIN section s ON s.volid=v.volid
    ORDER BY s.dateline DESC WHERE v.volid>2 ORDER BY v.dateline DESC这样? 这样报错的
      

  4.   

    SELECT v.*,s.subject FROM volume v LEFT JOIN section s ON s.volid=v.volid WHERE v.volid>2 ORDER BY v.dateline DESC
      

  5.   

    try:SELECT v.*,s.subject FROM volume v INNER JOIN 
    (
     SELECT * FROM section ORDER BY volid,dateline DESC
    ) s
    ON s.volid = v.volid
    WHERE v.volid>2
    GROUP BY v.volid
      

  6.   

    select v.* from volume v left join (select section.volid, subject from section where id = ( select max(secid) from section ) sec on v.volid = sec.volid 
      

  7.   


    SELECT S.*,V.`mname` 
    FROM  `section` S,`volume` V
    WHERE  V.volid = S.volid AND 6>( 
    SELECT Count(`secid`) 
    FROM  `section` 
    WHERE  `secid`=S.`secid` AND `dateline`>S.`dateline`)  AND 3>( 
    SELECT Count(`volid`) 
    FROM  `volume` 
    WHERE  `volid`=V.`volid` AND `dateline`>V.`dateline`) 
    ORDER  BY  V.dateline desc,S.`dateline` DESC;//查询出,最新3卷分别的最新6卷