Я хочу удалить повторяющиеся имена пользователей из этого запроса:
SELECT
transactions.id,
transactions.user_id,
transactions.dikaioma,
transactions.`in`,
users.`name` AS username,
users.score,
users.startDikaioma,
transactions.`out`,
games.`name`,
banks.bank_id,
banks.sxolio
FROM
transactions
INNER JOIN
users ON transactions.user_id = users.id
INNER JOIN
games ON users.curgame = games.id
INNER JOIN
posta ON users.posto_id = posta.posto_id
INNER JOIN
banks ON posta.posto_bank_id = banks.bank_id
WHERE
transactions.`in` NOT BETWEEN 0 AND 1
ORDER BY
transactions.id DESC
LIMIT 10
Может ли кто-нибудь помочь мне, как
не показывать повторяющиеся идентификаторы от пользователей, которых я пытаюсь
GROUP BY users.id HAVING count(users.id) > 1)
но не работает .. ошибка
Попробуйте добавить DISTINCT
после SELECT
, Это должно пропустить любые дубликаты.
Вы пытались использовать функцию DISTINCT для столбца, который вы хотели бы, чтобы не было дубликатов.
SELECT DISTINCT
transactions.id,
transactions.user_id,
transactions.dikaioma,
transactions.`in`,
users.`name` AS username,
users.score,
users.startDikaioma,
transactions.`out`,
games.`name`,
banks.bank_id,
banks.sxolio
FROM
transactions
INNER JOIN users ON transactions.user_id = users.id
INNER JOIN games ON users.curgame = games.id
INNER JOIN posta ON users.posto_id = posta.posto_id
INNER JOIN banks ON posta.posto_bank_id = banks.bank_id
WHERE
transactions.`in` NOT BETWEEN 0 AND 1
ORDER BY
transactions.id DESC
LIMIT 10