dans Access DB ... Je dois extraire la combinaison itemcode/desc pour chaque itemcode dans le tableau suivant où la desc a été utilisée le plus fréquemment.Accéder à la base de données, sélectionner le groupe en ayant le problème max
le plus souvent pourrait vouloir dire qu'il n'y avait qu'une seule version (voir ajoutée record pour la poire)
dans le cas de 777 ItemCode, je vais devoir décider plus tard quelle version la description à utiliser. S'il y a plusieurs enregistrements, chacun contenant une seule version d'une description, cela créera certainement un problème supplémentaire.
la question initiale devrait probablement également inclure le renvoi de la première ligne pour les itemscodes comme 777 où tous les enregistrements existants pour un itemcode contiennent une seule description unique (de sorte que le nombre serait toujours 1). la première rangée n'est pas toujours la bonne version - mais je ne pourrai pas automatiser cette phase de toute façon.
---------------------
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
alors - je suis à la recherche de se retrouver avec les éléments suivants:
---------------------
itemcode | desc
---------------------
123 | apple
001 | orange
666 | pear
777 | bananananana
Je pense que je suis proche, mais ce qui suit obtient seulement la description dans la base de données qui apparaît le plus fréquemment et seulement renvoie une ligne.
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
)
);
retours:
---------------------
itemcode | desc
---------------------
123 | apple
J'ai corrigé (et j'ai corrigé les bogues) ma réponse à la question modifiée. – Tomalak