0
votes

Comment trouver la valeur la plus fréquente dans la colonne SQL et renvoyer cette valeur?

J'essayais de faire quelque chose comme ceci: xxx

mais cela ne fonctionne pas


3 commentaires

Veuillez fournir des données d'échantillonnage et des résultats souhaités. Par exemple, pourquoi vous regroupez-vous par ID ?


Parce que c'est l'identifiant du nume_produs. J'ai la table de table avec ID de colonnes, produit_id, produit produit (Nume_Produs), montant, prix, collecte de données


et je dois écrire une fonction pour le produit le plus vendu du mois


3 Réponses :


2
votes

faire un groupe par. Ordre par compte descendant. Fetch la première rangée (nombre le plus élevé) uniquement.

select nume_produs, count(*) as cnt
from incasari 
group by nume_produs
order by cnt desc
fetch first 1 row with ties


0 commentaires

3
votes

Pour la valeur la plus courante de la colonne: xxx pré>

Si vous souhaitez plusieurs valeurs en cas de duplicate, utilisez Rank () code> au lieu de Row_Number () code>. p>

Si vous souhaitez la valeur la plus courante par identifiant em>, puis ajouter partition par code>: p>

select num_produs
from (select nume_produs, count(*) as cnt,
             row_number() over (partition by id order by count(*)) as seqnum
      from incasari
      group by nume_produs
     ) i
where seqnum = 1;


0 commentaires

-2
votes
SELECT       `nume_produs`,
             COUNT(`nume_produs`) AS `value_occurrence` 
    FROM     `incasari`
    GROUP BY `nume_produs`
    ORDER BY `value_occurrence` DESC
    LIMIT    1;
Increase 1 if you want to see the N most common values of the column.

4 commentaires

La base de données Oracle ne fonctionne pas avec limite de sorte que cette requête échouera. Vous auriez besoin d'utiliser Rownum dans Oracle ou ANSI / ISO SQL Standard Fetch


Les backtsticks ne fonctionneront pas avec Oracle. Utilisez des devis doubles d'ANSI SQL à la place, comme "nume_produs" .


@jarlh - Sauf que d'utiliser des guillemets doubles avec des identificateurs de casse-mixtes vont lancer une ora-00942 si la table n'a pas été créée comme celle-ci, ce que je devine est le cas pour l'OP.


@srikanth - Réponses pour les questions Tagged [Oracle] doit utiliser la syntaxe Oracle RDBMS, pas MySQL (même s'il est appartenant à ORCL Corporation). N'a également pas la syntaxe SQL Server MS SQL même lorsque la question est étiquetée [SQL] .