in Access DB ...
Мне нужно извлечь комбинацию itemcode / desc для каждого itemcode в следующей таблице, где desc использовался наиболее часто.
чаще всего может означать, что была только одна версия (см. Добавленную запись для груши)
в случае itemcode 777 , позже я должен решить, какую версию описания использовать. если имеется несколько записей, каждая из которых содержит одну версию описания, это определенно создаст дополнительную проблему.
исходный вопрос, вероятно, должен также включать в себя возврат первой строки для кодов элементов, например 777, где все существующие записи для кода элемента содержат одно уникальное описание (так что счетчик всегда будет равен 1). первая строка не всегда может быть правильной версией - но я все равно не смогу автоматизировать эту фазу.
---------------------
itemcode | desc
---------------------
123 | apple
123 | apple
123 | apple
123 | apple 2
123 | apple-2
001 | orange
001 | orange
001 | ORANGE 1
001 | orange-1
666 | pear
777 | bananananana
777 | banana
итак, я надеюсь получить следующее:
---------------------
itemcode | desc
---------------------
123 | apple
001 | orange
666 | pear
777 | bananananana
Я думаю, что я близок, но следующее получает только описание в базе данных, которое появляется чаще всего и возвращает только одну строку.
SELECT itemcode, desc, count(desc)
from table
group by itemcode, desc
having count(desc) =
(
select max(ct) from
(
select itemcode, desc, count(desc) as ct
from table
group by itemcode, desc
)
);
возвращается:
---------------------
itemcode | desc
---------------------
123 | apple