sql >> Database teknologi >  >> RDS >> Oracle

MySQL ækvivalent med ORACLES rank()

Intet direkte tilsvarende, men du kan fake det med nogle (ikke voldsomt effektive) selv-joins. Nogle eksempler på kode fra en samling af MySQL-forespørgselshowtos:

SELECT v1.name, v1.votes, COUNT(v2.votes) AS Rank
FROM votes v1
JOIN votes v2 ON v1.votes < v2.votes OR (v1.votes=v2.votes and v1.name = v2.name)
GROUP BY v1.name, v1.votes
ORDER BY v1.votes DESC, v1.name DESC;
+-------+-------+------+
| name  | votes | Rank |
+-------+-------+------+
| Green |    50 |    1 |
| Black |    40 |    2 |
| White |    20 |    3 |
| Brown |    20 |    3 |
| Jones |    15 |    5 |
| Smith |    10 |    6 |
+-------+-------+------+ 


  1. WEEKOFYEAR() Eksempler – MySQL

  2. er der en group_concat funktion i ms-access?

  3. uløst reference til objekt [INFORMATION_SCHEMA].[TABLER]

  4. Hvordan laver jeg store ikke-blokerende opdateringer i PostgreSQL?