virakochi
Устал
Запрос с группировкой.
Помогите плиз дописать запрос..
Суть запроса - исключить дубликаты..
Необходимо еще добавить условие на столбец processed, при котором не будет выбираться запись с processed=0, для которой существует дупликат с processed=1 (processed TINYINT(1) default 0)
Остальные записи с processed=0 должны выбираться. Спасибо.
-~{}~ 14.02.05 13:10:
Все никак..
Вроде бы это решает проблему.. Но не уверен, будет ли тут учитываться моя сортировка - она должна вступать в силу для отобранных записей с processed=0, которые дубликаты..
Подскажите пожалуйста.
-~{}~ 14.02.05 14:44:
Вроде бы разобрался окончательно.
Жаль, никто не прокомментировал, насколько это криво/правильно.
Помогите плиз дописать запрос..
Код:
SELECT * FROM table
group by patron_name, city, state, email
ORDER BY
CASE sweeps
WHEN 'N' THEN 1
WHEN '' THEN 2
END, id
Необходимо еще добавить условие на столбец processed, при котором не будет выбираться запись с processed=0, для которой существует дупликат с processed=1 (processed TINYINT(1) default 0)
Остальные записи с processed=0 должны выбираться. Спасибо.
-~{}~ 14.02.05 13:10:
Все никак..
Код:
SELECT *, COUNT(*) as 'cnt' FROM table
group by patron_name, city, state, email
HAVING cnt = 1 AND processed = 0
ORDER BY
CASE sweeps
WHEN 'N' THEN 1
WHEN '' THEN 2
END, id
Подскажите пожалуйста.
-~{}~ 14.02.05 14:44:
Вроде бы разобрался окончательно.
Код:
SELECT * FROM table
group by patron_name, city, state, email
HAVING sum(processed) = 0
ORDER BY
CASE sweeps
WHEN 'N' THEN 1
WHEN '' THEN 2
END, id ASC