Выбор различных значений из нескольких столбцов в MySQL
При работе с базами данных часто необходимо получить уникальные комбинации значений из нескольких столбцов. Однако использование ключевого слова DISTINCT не всегда может дать желаемые результаты. В этой статье исследуется альтернативный подход к выбору различных значений из двух столбцов в базе данных MySQL.
Рассмотрим следующую таблицу с именем "foo_bar":
foo | бар |
---|---|
a | c |
c | f |
d | a |
c | а |
f | c |
a | c |
d | a |
a | c |
c | a |
f | c |
Запрос эту таблицу со следующим оператором SQL:
SELECT DISTINCT foo, bar FROM foo_bar;
выдает следующее результат:
foo | бар |
---|---|
a | c |
c | f |
d | a |
c | a |
f | c |
Пока этот запрос гарантирует, что возвращается только один экземпляр каждой уникальной комбинации значений, но не устраняет избыточность, когда значения меняются местами в двух столбцах. Например, «ac» и «c a» представляют собой разные комбинации, но они относятся к одним и тем же данным.
Чтобы решить эту проблему, мы можем вместо этого использовать предложение GROUP BY:
SELECT foo, bar FROM foo_bar GROUP BY foo, bar;
Этот запрос возвращает следующее результат:
foo | бар |
---|---|
a | с |
c | f |
d | a |
Как Как видите, предложение GROUP BY объединяет все повторяющиеся строки в одну, эффективно устраняя повторы и обеспечивая действительно разные комбинации значений как из столбцов foo, так и из столбцов bar.
Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.
Copyright© 2022 湘ICP备2022001581号-3