Я ударил головой по этой проблеме и просмотрел несколько похожих ситуаций при обмене стеками, и чем больше я читаю, тем больше я сбиваюсь с толку! У меня есть таблица, которая имеет следующее:MySQL удаляет дубликаты в одной таблице
id | zipcode | provider | channel
---------------------------------
1 | 91773 | 342 | 0
2 | 91773 | 2261 | 177
3 | 91773 | 5590 | 0
4 | 91773 | 5590 | 0
5 | 91773 | 5590 | 135
6 | 91773 | 5590 | 0
7 | 91773 | 6010 | 0
8 | 91773 | 6010 | 0
Я хочу сохранить только одну запись, и если канал не имеет ничего, кроме 0, то мы держим его. Поэтому он должен вернуть это:
id | zipcode | provider | channel
---------------------------------
1 | 91773 | 342 | 0
2 | 91773 | 2261 | 177
5 | 91773 | 5590 | 135
8 | 91773 | 6010 | 0
Я пробовал довольно много запросов, но никто не работал. Заранее спасибо.
Edit: Я попробовал некоторые из приведенных примеров, но ни один, кажется, вернуть правильную информацию, лучший примером будет использовать их, и вы можете понять, почему: вставки в значение единорогов
(1, 91773, 342, 0),
(2, 91773, 2261, 177),
(3, 91773, 5590, 0),
(4, 91773, 5590, 0),
(5, 91773, 5590, 135),
(6, 91773, 5590, 0),
(7, 91773, 6010, 0),
(8, 91773, 6010, 0),
(9, 91776, 5590, 135),
(10, 91776, 5590, 0),
(11, 91776, 6010, 0),
(12, 91776, 6010, 0);
Возможный дубликат [как удалить дубликаты в таблице mysql?] (Http://stackoverflow.com/questions/2630440/how-to-delete-duplicates-on-mysql-table) –
Мне кажется, вам нужно сгруппировать по zipcode и провайдеру, а не только по zipcode, я обновил свой ответ, посмотрю, хорошо ли это – fthiella