DISTINCT + другие поля MySQL
Каким образом сделать так, чтобы в выборке были другие поля? Сейчас выводится только login, а нужно вывести ещё password, city и т.д.. GROUP BY не предлагать!
SELECT DISTINCT `login`
FROM `accounts`
WHERE `valid` = '1'
Если перечислять их в
DISTINCT `login`, `password`, `city`
То уникальность становится по всем трём этим полям, а мне нужна уникальность только по login, а остальные поля чтобы просто были в выборке.
Ответы (1 шт):
Автор решения: Aziz Umarov
→ Ссылка
Воспользуйтесь window functions
select * from (
SELECT
*,
row_number() over(partition by login order by 'password', 'city') as rowNumber
FROM `accounts`
WHERE `valid` = '1')
AS data
where rowNumber = 1
о вернет вам уникальные подберите сортировку такую чтоб под первым стоял вам нужные логины.