У нас есть большая таблица транзакций и вам нужно попытаться сопоставить строки, где транзакции могут быть сделаны одним и тем же лицом. Задача состоит в том, что нет единственного ключа для их объединения.Соответствие нескольких записей в одной таблице
В каждой строке есть ряд элементов, которые, если сравнивать, должны позволять группировать их вместе.
Так, например, таблица выглядит примерно так:
=====================
| C1 | C2 | C3 | C4 |
---------------------
1 | A | B | C | D |
---------------------
2 | B | C | D | A |
---------------------
3 | A | B | C | D |
---------------------
4 | C | D | A | B |
---------------------
5 | A | B | C | D |
=====================
Таким образом, мы хотим, чтобы иметь возможность группировать операции, которые были «вероятно» сделано одним и тем же лицом на основании согласующих несколько столбцов с другими данные. Ни один из этих других столбцов никогда не будет полностью уникальным, поэтому нам нужно сопоставить записи на как можно большем количестве столбцов, чтобы увеличить вероятность того, что они связаны с одним и тем же человеком.
Group, вероятно, неправильный термин, как мы хотим, чтобы результат как:
=====================
| C1 | C2 | C3 | C4 |
---------------------
1 | A | B | C | D |
---------------------
2 | A | B | C | D |
---------------------
3 | A | B | C | D |
---------------------
4 | B | C | D | A |
---------------------
5 | C | D | A | B |
=====================
Так что в этом случае он отобразил результаты с рядами 1, 2 и 5 вместе, как все они имеют ту же самую информацию в столбцы, которые мы сопоставляем.
Мы пытались что-то вроде:
SELECT *
FROM group_test gt1, group_test gt2
WHERE gt1.a = gt2.a
AND gt1.b = gt2.b
AND gt1.id != gt2.id;
, но мы просто в конечном итоге с повторяющимися рядами. Возможно, это даже невозможно, используя только SQL - совершенно невежественный здесь, поэтому любая помощь будет принята с благодарностью!
Возможно, мне что-то не хватает, но похоже, что вы просто хотите заказывать строки? –
Вы уверены, что 'rows 1, 2 и 5 разделяют одну и ту же информацию'? – RubahMalam
Какой результат вы ищете? кажется, что группа по и подсчету доставит вам то, что вы хотите, или, может быть, просто ... – xQbert