Si j'ai une table de valeurs aléatoires dans une table sql, comment puis-je les exporter et les afficher sous la forme d'un râtelage plutôt que de la valeur absolue ... par exemple .. si les trois valeurs sont 30 85 et 90 comment puis-je 30 faire affichage 1 ou 1er, 85 comme 2 ou 2 etcSortie SQL en tant que classement
Répondre
MySQL ne prend pas en charge la fonction analytique (ROW_NUMBER, GRADE, DENSE_RANK), qui est généralement ce que vous utiliseriez pour des exigences comme celles-ci.
Utilisation:
SELECT @rownum := @rownum + 1 AS ranking
FROM YOUR_TABLE t
JOIN (SELECT @rownum := 0) r
ORDER BY t.value
Exemple:
SELECT x.num,
@rownum := @rownum + 1 AS ranking
FROM (SELECT 30 AS num
UNION ALL
SELECT 85
UNION ALL
SELECT 90) x
JOIN (SELECT @rownum := 0) r
ORDER BY x.num
Vous pouvez utiliser:
SELECT (SELECT COUNT(*)
FROM YOUR_TABLE b
WHERE b.value <= a.value) AS ranking
FROM YOUR_TABLE a
... mais les doublons auraient la même valeur de classement. Et vous devez vous assurer que la comparaison des valeurs est dans la bonne direction.
Essayez:
set @i = 0;
select myValue,
@i:[email protected]+1 as Ranking
from myTable
order by myValue ASC
Vous voulez probablement un 'ORDER BY myValue ASC' là. –
@Byron @JohnFx: en effet, merci! –
- 1. Sortie en tant que tableau
- 2. Sortie XslCompiledTransform en tant que XPathDocument
- 3. matrice en tant que sortie d'une fonction
- 4. C# SQL Top en tant que paramètre
- 5. est en tant que pl/sql
- 6. Sortie Linq en tant qu'interface?
- 7. les données de sortie en tant que fichier excel
- 8. Tri par classement pondéré en SQL?
- 9. Lignes de transposition SQL en tant que colonnes
- 10. .NET en tant que client, Java en tant que serveur
- 11. sql classement par chaîne numérique
- 12. DATEPART en tant que paramètre
- 13. SQL Server: classement du serveur
- 14. Afficher les lignes en tant que colonne
- 15. SQL Server en tant que client Serivce Web
- 16. noms SQL de la colonne Sélection en tant que valeurs
- 17. Zéro en tant que clé primaire dans SQL Server 2008
- 18. Syntaxe SQL en tant que paramètres pour une routine MySQL?
- 19. SQL Server Management Studio en tant que plateforme d'applications
- 20. Microsoft SQL Server 2000 DTS en tant que texte
- 21. DotNetNuke option sql 'Exécuter en tant que script'
- 22. Nom du serveur SQL des colonnes en tant que variables
- 23. Comment écrire une requête SQL en tant que named_scope?
- 24. Renvoyer une requête SQL en tant que tableau dans Powershell
- 25. SQL Server XSD SimpleType xs: liste en tant que table?
- 26. Exécution d'un script SQL stocké en tant que ressource
- 27. Colonnes d'horodatage NHibernate et sql en tant que version
- 28. Oracle - Obtenir Sélectionnez Count (*) de ... en tant que paramètre de sortie dans System.Data.OracleClient
- 29. Problèmes de classement Sql lors du déploiement en direct
- 30. nom du serveur en tant que variable
duplication possible de [Quelle est la meilleure façon de générer des rangs dans MYSQL?] (Http://stackoverflow.com/questions/431053/what-is-the-best-way-to-generate-ranks-in- mysql) – JohnFx