1

1 つのトピックの返信数をカウントするためのこのコードがあります。

$sql = mysql_query("SELECT count(*) FROM ".prefix."REPLY WHERE TOPIC_ID = '$t' AND R_AUTHOR = '$m' ".$Open_SQL." ") or die(mysql_error());
    $Count = mysql_result($sql, 0, "count(*)");
    if ($Count > 0) {
        $Count = $Count;
    }
    else {
        $Count = "";
    }
return($Count);
mysql_free_result($sql);
}

結果が正常に表示されます。必要なのは、この結果をDESCで注文することです。

助言がありますか?

4

2 に答える 2

2

. . Count(*)_count

おそらくやりたいことは、GROUP BY-clause を追加し、別の Stuff を選択して、カウント順に並べることです。

table
user | type
1      apple
2      apple
3      cherry

このようなテーブルを使用すると、種類別にグループ化し、後でチェリー/リンゴの数を並べ替えることができます。

SELECT count(*) AS c, type FROM table GROUP BY type ORDER by c DESC/ASC

結果:

c | type
2   apple
1   cherry

しかし、GROUP BYそれがなければ合計数を返すだけです: 3- もちろんソートはできません。

于 2012-12-04T10:36:59.530 に答える
0

あなたはおそらくこのようなことをしたい

SELECT some-field, count(*) as count 
FROM your-table
WHERE your-clauses
AND more-clauses
GROUP BY some-field
ORDER BY some-field desc
于 2012-12-04T10:31:02.060 に答える