在PHP查询中添加order by


Adding order by in PHP query

我试图将DESCASC添加到此,但我仍然无法使其正常订购。我只是想确保我在正确的地方尝试。

$query = $db->query("
        SELECT n.*, COUNT(c.id) as replies, u.username, u.displaygroup, u.usergroup, u.avatar
        FROM " . TABLE_PREFIX . "news n
        LEFT JOIN " . TABLE_PREFIX . "newscomments c ON (c.nid = n.id)
        LEFT JOIN " . TABLE_PREFIX . "users u ON (u.uid = n.uid)
        WHERE FIND_IN_SET($cid, n.cid)
        GROUP BY n.id
        ORDER BY n.date_posted
        LIMIT $start, $perpage
    ");

我试过了

ORDER BY n.date_posted DESC

ORDER BY n.date_posted ASC

这是放这个的正确位置吗?

尝试将您的回复重组为子查询:

$query = $db->query("                                                          
    SELECT 
      n.*,                                                                
      (SELECT COUNT(c.id) FROM " . TABLE_PREFIX . "newscomments c WHERE c.id = n.id) as replies,
       u.username, u.displaygroup, u.usergroup, u.avatar                       
    FROM " . TABLE_PREFIX . "news n                                            
    LEFT JOIN " . TABLE_PREFIX . "users u ON (u.uid = n.uid)                   
    WHERE FIND_IN_SET($cid, n.cid)                                             
    ORDER BY n.date_posted                                                     
    LIMIT $start, $perpage                                                     
");