0

次のようなデータベースがあります。

+-----+---------+--------------+
| id  | user_id | form_answers |
+-----+---------+--------------+
|  1  |    1    | yes          |
|  2  |    1    | M            |
|  3  |    2    | yes          |
|  4  |    2    | M            |
|  5  |    3    | no           |
|  6  |    3    | F            |
|  7  |    4    | no           |
|  8  |    4    | M            |
+-----+---------+--------------+

このデータベースに挿入されたフォームがありました。1 つの質問とドロップダウン リスト (男性の女性) がありました。男性(M)ユーザーが「はい」と答えた数を数えることはできますか?カウントする必要はありません...男性ユーザーからの回答が「はい」のすべての行を選択するだけです。

4

2 に答える 2

2

あなたはそれ自身で答えタブに参加することができます。これにより、男性ユーザーが提供した「はい」の回答のリストが返されます。

SELECT a1.*
FROM answers a1 inner join answers a2
     on a1.user_id=a2.user_id
        and a1.form_answers='yes'
        and a2.form_answers='M'

行を数えるには、選択行を次のように置き換えます。

SELECT COUNT(*)

ここでフィドルを参照してください。

于 2013-01-25T15:03:59.130 に答える
1
SELECT  COUNT(*) totalUsers
FROM
    (
        SELECT  user_id
        FROM    tableName
        WHERE   form_answers IN ('YES','M')
        GROUP   BY user_ID
        HAVING  COUNT(*) = 2
    ) s
于 2013-01-25T15:17:47.510 に答える