我有一个文章表article  主要字段:id,title,catid
还有一个评论表comment  主要字段:id,aid,content要求:我需要调用15条以评论总数量作为排序标准的文章表中的数据。
SELECT arc.id,count(*) dd FROM `article` AS arc INNER JOIN `comment` AS cmt ON arc.id = cmt.aid ORDER BY dd DESC LIMIT 0,15这样查询只可以查出一条记录。SELECT * FROM `article` AS arc ORDER BY (SELECT count(*) FROM `comment` AS cmt WHERE arc.id = cmt.aid ) DESC LIMIT 0,15这样是可以查询出数据,但是呢,这样的写法,我总觉得很有问题的。前面一段应该是哪里写错了,所以导致只能查询出一条数据。

解决方案 »

  1.   

    没数据,不知道这样对不对:
    select comment.id,comment.aid,article.* from comment,article order by count(comment.id) group by comment.aid
      

  2.   

    SELECT arc.id,count(cmt.id) dd 
    FROM `article` AS arc 
    INNER JOIN 
    `comment` AS cmt 
    ON arc.id = cmt.aid 
    group by cmt.aid
    ORDER BY dd DESC LIMIT 0,15