0

retcode問題は次のとおりです。IP アドレスをグループ化し、300 を超えるリターン コード ( ) を持つ各 IP アドレスごとのリクエスト数の合計を表示するクエリを作成し、このクエリをretcodeフィールドで降順で並べ替えます。

私が思いついたのはこれです(何時間も苦労した後)

SELECT ipno, retcode, IF(retcode > 300, 1, 0) AS 'return'
FROM WebLog 
GROUP BY ipno
HAVING SUM(retcode) > 300
ORDER BY retcode DESC

もちろん、質問には答えません。解決策が不足しているだけです。

次のような IF または CASE ステートメントで集計関数を使用する方法はありますか。

IF(retcode > 300, SUM retcode, 0)

クエリで適切に記述する方法を知っていれば、これはうまくいくと思います。

4

1 に答える 1