0

現在、このクエリがあります

SELECT COUNT(*) 
    FROM  `applications` 
    WHERE approved =0
    GROUP BY user_id
    ORDER BY  `applications`.`user_id` ASC 

(私の場合)このような2行を返します

COUNT(*)
1
1

ただし、カウントはクエリ全体をカウントするのではなく、一度に 1 行ずつカウントします。この目的の出力を取得するにはどうすればよいですか?

COUNT(*)
2

編集

group by の理由は、複数のアプリケーションを持つユーザーが 1 としてカウントされるようにするためです。たとえば、

John は 4 つのアプリケーションを持っています Tracy は 1 つのアプリケーションを持っています Fred は 2 つのアプリケーションを持っています

返される合計数は 3 です。

4

2 に答える 2

1

これは 2 を返します。

SELECT COUNT(DISTINCT user_id)
FROM applications
WHERE approved = 0

これがあなたの望むものなのか、それとも DVK の答えが正しいのかを判断するのは困難です。なぜなら、各ユーザーが 1 つの一致する行を持っている場合、どちらも同じ答えを返すからです。

于 2013-07-25T17:29:33.070 に答える