У меня есть таблица SQL с тремя столбцами X, Y, Z. Мне нужно разбить ее по группам таким образом, чтобы все записи с одинаковым значением X или Y или Z были назначены одной и той же группе. Мне нужно убедиться, что записи с одинаковым значением X или Y или Z никогда не разбиваются на несколько групп.Идентификация графов в куче подключенных узлов - как это называется?
Если вы считаете, что записи как узлы и значения X, Y, Z в качестве ребер, эта проблема такая же, как и поиск всех графиков, где узлы в каждом графе будут связаны прямо или косвенно через X, Y или Z -edge, но каждый график не будет иметь никаких ребер вместе с другими графами (иначе он будет частью одного и того же графика).
Несколько лет назад я знал, что это называется и даже помнит алгоритм, но теперь он ускользает от меня. Скажите, пожалуйста, как эта проблема называется так, что я могу найти решение Google. Если у вас сейчас хороший алгоритм, пожалуйста, укажите мне его. Если у Вас есть реализация SQL - я женюсь вас :)
Пример:
X Y Z BUCKET
--------- ---------------- --------- -----------
1 34 56 1
54 43 45 2
1 12 22 1
2 34 11 1
В последней строке в ведро 1 из-за величины Y = 34, которая является такой же, как первый ряд, который находится в ведре 1.
Вы говорите о ['GROUP BY'] (http://www.w3schools.com/sql/sql_groupby.asp) статье? – Oded
@Oded Я не уверен, как относиться к вашему комментарию, будь то шутка или преступление, но, учитывая вашу репутацию в 48 тыс., Я буду рассматривать ее как шутку. Добавлен пример для тех, кто предпочитает изображение тысячам слов. – zvolkov
Не было совершено преступления - разные пользователи имеют разные уровни знаний для разных технологий. Я не предполагаю знания, если этот вопрос не продемонстрирует этого. Я предположил, что ваш SQL не очень хорош ... Я также затрудняюсь понять этот вопрос и несколько расплывчатый, следовательно, мой комментарий. – Oded