У меня есть таблицы базы данных: «пользователи» и «результаты». Я хочу просматривать пользователей из таблицы users и подсчитывать конкретные записи каждого отдельного пользователя в результатах таблицы (для подсчета игр и выигрышей). Мой запрос:
$q = "SELECT *, (SELECT count(*)
FROM users, results
WHERE (results.u1 = users.id OR results.u2 = users.id)
AND (results.p1 > 0 OR results.p2 > 0)
AND gid = '$gid' AND users.gender = '$gender') as gp
FROM users LEFT JOIN results
ON users.id = results.u1
||
users.id = results.u2
WHERE gid = '$gid' AND users.gender = '$gender'
GROUP BY users.id LIMIT 0, 9";
Это действительно возвращает 9 пользователей, но «gp» показывает мне количество всех записей, но я хочу, чтобы часть gp подсчитывала только записи для каждого отдельного пользователя в цикле и ЗАКАЗЫВАЛА его.
Вы можете помочь мне с этим вопросом? Благодарю вас!
выберите идентификатор пользователя и создайте его псевдоним и используйте его в своем подзапросе
select user_id as userid (select count(*) from result where results.u2 = userid) as result_count from users ;