私は困惑しています。「投稿」から平均「クリック」を取得したいのですが、平均を超えるクリックですべての投稿を表示したい場合、通常は非常に高いため、しきい値を歪める最高値を捨てます。同じ理由で、最低値も破棄したいと思います。私のコードは次のとおりです。
//get the sum of the clicks from all posts
$gettotalsum = mysql_query("SELECT sum(clicks) AS click_total FROM posts WHERE clicks > '0' ");
$clicksum = @mysql_fetch_array($gettotalsum);
//get the number of posts that have clicks
$postcount = mysql_query("SELECT postid FROM posts WHERE isactive = 'y' AND clicks > '0' ");
$clickcount = mysql_num_rows($postcount);
上記の 2 つのクエリは、クリック値の最高値と最低値をフィルター処理するために変更する必要があると思われますが、どのようにすればよいのでしょうか?
そして、これが私のコードfwiwの残りの部分です:
//multiply to get the average, then round it off
$average = $clicksum['clicks'] / $clickcount;
$average = round($average);
//display posts that are equal to or above average
$getposts = mysql_query("SELECT postid, posturl, posttitle, clicks FROM posts WHERE clicks >= $average order by clicks DESC");
while ($aboveaverageposts = @mysql_fetch_array($getposts)) {
//code to format output goes here
}
このコードはすべて合理化できると思いますが、今最も重要なのは、最高値と最低値をフィルタリングすることです。
前もって感謝します。