6
votes

Comment puis-je sélectionner les 10 meilleurs numéros d'une colonne de base de données à l'aide de SQL?

J'ai une table de base de données contenant une colonne qui enregistre les hits de page pour chaque entrée.

Je souhaite sélectionner les 5 premières pages Hit de la base de données, mais je ne peux pas sembler trouver la bonne méthode pour le faire en utilisant uniquement SQL. En particulier, je suis en train de rechercher un qui n'implique pas de sélectionner chaque entrée et de la numérisation par la suite avec PHP.

Quelle est la meilleure façon de le faire via SQL (s'il y en a un)?

Merci.

sql

1 commentaires

Quelle base de données ? Quelle version ??


4 Réponses :


15
votes

Essayez cette approche: xxx


4 commentaires

CAVEAT: N'utilisez pas de sélection *, sélectionnez simplement les colonnes dont vous avez besoin.


@Jong - Difficile de donner un meilleur exemple sans structure de table fournie.


La structure de table @eumiro est plus ou moins pertinente pour le point de Jong, en particulier compte tenu de la question de l'OP. Vous ne devriez jamais utiliser jamais SELECT * Sauf si vous n'avez besoin que de chaque colonne dans la table.


La limite ne fonctionnera pas dans T-SQL. Voir Stackoverflow.com/a/44645065/297358 situé en dessous de la syntaxe T-SQL



4
votes

dans mysql> Sélectionnez * à partir de la commande de table par HITS DEL LIMITE 5;

dans oralce> Sélectionnez * à partir de la commande de table par hits descendre où rownum <5;


4 commentaires

Je pense que cela devrait être commandé par Hist Desc (pas ASCC)


@Jong - Yeh, les dangers de parler au téléphone et de taper une réponse révélée ;-)


Note Oracle: Il est important de placer la clause de Rownum après la clause de l'ordre. Sinon, vous prenez les 5 premières lignes de la table comme sélectionnées de manière non déterminante par la base de données, puis tris.


@Justin merci - je n'ai même jamais pensé à noter que, c'est juste une de ces choses que vous "faites" ;-)



2
votes

Sélectionnez le prix Top 10 (nom de la colonne) à partir de produits (Tablename) Commande par prix Desc;

ci-dessous est la sortie xxx


0 commentaires

0
votes

Pour trouver la touche primaire de la valeur maximale maximale avec la condition: xxx


0 commentaires