У меня есть таблица данных, и я хочу, чтобы иметь возможность выводить все данные, которые не повторяет содержимое двух столбцов, иллюстрация:Группировка по нескольким столбцам с одинаковым приоритетом в MySQL
Пример таблицы :
Column1 | Column2 | Column3
1 XX pop
2 YY yif
3 ZZ pop
4 PP pop
5 XX pop
6 YY yif
7 PP Hor
8 MM tre
9 PP pop
10 XX pop
11 MM pop
то, что я хочу сделать здесь выводятся все строки, где значения оба графах 2 и 3 не повторяются, так что вы будете видеть, что Column1
== 1 и Column1
== 5 есть одинаковые значения как в Column2
, так и в Column3
, поэтому их нужно выводить только там, где Column1
== 1 и not = 5 (или = 10).
Я хотел бы задать запрос для вывода всех строк, кроме случаев, когда Column1
== 5,6,9,10, потому что они имеют как Column2
иColumn3
повторения.
Предназначенный выход запроса: (примечание: все три колонки требуется)
Column1 | Column2 | Column3
1 XX pop
2 YY yif
3 ZZ pop
4 PP pop
7 PP Hor
8 MM tre
11 MM pop
Я пытался смотреть в Group By, но это возможно только в группе на один столбец, или по крайней мере групп их слева направо, так что GROUP BY (Column2, Column3)
будет GROUP BY
все значения в Column2
, а затем значения в Column3
вместо того, чтобы рассматривать оба столбца одинаково.
Я нашел одно возможное решение, которое было заранее Concat колонны, такие как
GROUP BY CONCAT(Column2, '_', Column3)
От Is it possible to GROUP BY multiple columns using MySQL?, но это было туманно критике (по крайней мере, в качестве ответа на этот вопрос), но, кажется, ближе всего код, который я видел, чтобы делать то, что хочу.
Итак, как должен я структурировать положение
GROUP BY
, чтобы достичь этого результата?Является ли
GROUP BY CONCAT
Я нашел хороший способ приблизиться к этому?
Тестирование этого кода SQL, похоже, возвращает то, что я ищу, спасибо. Не могли бы вы немного объяснить, как «SELECT MIN (column1) AS column1, column2, column3» влияет на «GROUP BY», я не очень понимаю этот синтаксис. Спасибо – Martin
Я думаю, что select Min просто дает самый низкий идентификатор для этой комбинации столбцов 2 и 3 – Moylin