У меня есть данные, как,SQL: Повторные записи, группируя некоторые столбцы
ID Name ItemA ItemB ItemC
OXZ234 Adam 4 4 5
OXZ234 Adam 1 2 3
OXZ345 Tarzen 6 7 8
OXDER2 William 9 8 2
OXDER2 William 0 8 0
Мне нужно найти, сколько пищи каждый человек ест. Например, ссылаясь на первые две записи, я могу сказать, что Адам из ID OXZ234 ел ItemA-5, ItemB-6 и ItemC-8. Но для небольшого объема данных такой ручной расчет является доступным. У меня есть миллион записей данных, подобных этому. Поэтому изначально мне нужно найти записи, которые имеют одинаковый идентификатор и имя, но только количество элементов, отличающихся друг от друга.
Я попробовал запрос для поиска повторяющихся записей, группируя все столбцы, как показано ниже,
select ID,Name,ItemA,ItemB,ItemC, COUNT(*)
from DATA_REFRESH
group by ID,Name,ItemA,ItemB,ItemC
having COUNT(*) > 1
Но теперь я должен идентифицировать записи, имеющие пункты столбцы различались.
Таким образом, ожидаемый объем производства, как,
OXZ234 Adam 2
OXDER2 William 2
OXZ345 Tarzen 1
Любое предложение было бы полезно!
это MySQL или sql-server? – GuidoG
, вам, вероятно, придется потратить время, переписывая свое повествование, поскольку вы вводите в заблуждение других, говоря, что вам нужно найти, сколько пищи человек ест, а затем найти дубликаты, но в конечном итоге вы говорите, что вам нужно найти количество недвойственных (уникальных) записей. SQL-сервер имеет функции окна, которые mysql не имеет, поэтому, пожалуйста, отметьте, какую систему вы используете НЕ оба! – Matt
также, если вы пытаетесь провести различие между дублирующимся и не дублированным, вы можете подумать о том, чтобы улучшить ваши образцы данных в обоих случаях, а затем ваш желаемый результат, чтобы отразить эти новые данные. – Matt