私はあなたがこれを理解するのを手伝ってくれることを望んでいました. query
テーブルとそのすべての行を検索し、日付が現在の月と一致するa を実行したいと思います。を返しますuser_id
。私が達成しようとしているのは、この下に上位 5 つのユーザー ID を収集することですquery
。
これを変更して、今月の上位 5 件を見つけるにはどうすればよいですか? 私は通常、クエリを理解することができますが、これには困惑しています。
現時点で持っているのはこれだけです。
$top = mysqli_query($mysqli, "SELECT sum(amount) AS total FROM sales WHERE status = 'S' AND MONTH(date) = 1");
while($row = mysqli_fetch_row($top))
{
$userid = $row['0'];
}
アップデート:
$top = mysqli_query($mysqli, "SELECT user_id
FROM
(
SELECT user_id, SUM(amount) total
FROM sales
WHERE status = 'S'
AND MONTH(date) = MONTH(CURDATE())
AND YEAR(date) = YEAR(CURDATE())
GROUP BY user_id
) q
ORDER BY total DESC
LIMIT 5");
while($row = mysqli_fetch_row($top))
{
$topsales[] = $row['0'];
}
foreach($topsales as $topsale) {
echo $topsale;
}