2015-01-05 3 views
-2

Я хочу, чтобы удалить повторяющиеся имена из этого запроса:Mysql PHP не показывать дублированный идентификатор

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) 

но не работает .. ошибка

+0

Вы ищите «отличную», может быть? См. [Эту статью] (http://www.sql-tutorial.com/sql-distinct-sql-tutorial/) – JiFus

+0

Вы можете использовать команду «GROUP BY users.id» HAVING count (users.id)> = 1' –

ответ

0

Вы пробовали с помощью 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 
+0

Да не работает DISTINCT – ctcp

Смежные вопросы