Отфильтровано из дубликатов записей, чтобы получить одну запись в MYSQL - PullRequest
0 голосов
/ 10 октября 2018

Я хочу отфильтровать дубликаты и получить одну запись из этих дубликатов (столбец номера телефона только дублирует, но не другие)

Ответы [ 2 ]

0 голосов
/ 10 октября 2018

использовать коррелированный подзапрос

select * from  table1 t1 where row_count = 
 (select min(row_count) 
 from table1 t2 
 where t1.phone=t2.phone 
 )
0 голосов
/ 10 октября 2018

Один подход присоединяется к подзапросу, который отфильтровывает все записи, кроме тех телефонных номеров, которые имеют минимальный row_count:

SELECT t1.*
FROM yourTable t1
INNER JOIN
(
    SELECT phone, MIN(row_count) AS min_row_count
    FROM yourTable
    GROUP BY phone
) t2
    ON t1.phone = t2.phone AND t1.row_count = t2.min_row_count;

Вот способ MySQL 8+ сделать это, используя аналитические функции:

SELECT row_count, state, phone, areacode, zip
FROM
(
    SELECT *, MIN(row_count) OVER (PARTITION BY phone) min_row_count
    FROM yourTable
) t
WHERE row_count = min_row_count;
...