私は次の頭痛を持っています...私は3つの異なる句の平均評価を一度に取得しようとしています。最初のクエリ(averageRatingを求めるクエリ)からの値のみを検索します。 averageMaleRatingとaverageFemaleRatingは未知の列として返されます...1つのmysqlクエリで男性/女性/すべての平均投票評価を取得
そして、ここにクエリがあります!
SELECT
averageRating,
averageMaleRating,
averageFemaleRating
FROM (
SELECT
question_id AS q_id,
ROUND(AVG(rating)) AS averageRating
FROM
wp_ratings
WHERE
club_id = ?
GROUP BY question_id
UNION
SELECT
question_id AS q_id,
ROUND(AVG(rating)) AS averageMaleRating
FROM
wp_ratings
WHERE
club_id = ?
AND
GENDER = 'male'
GROUP BY question_id
UNION
SELECT
question_id AS q_id,
ROUND(AVG(rating)) AS averageFemaleRating
FROM
wp_ratings
WHERE
club_id = ?
AND
GENDER = 'female'
GROUP BY question_id
)AS bigU
JOIN
wp_ratings
ON
wp_ratings.question_id = bigU.q_id
を評価テーブルに参加する必要があります。 – zneak
ハァッ、ああ、とにかくそれを残念に...!テーブルスキーマにはいくつかのフィールドがありますが、これに必要なのは唯一のものです:club_id(int)、gender(enum、male、female)、question_id(int)、rating(int) –