sql >> Database >  >> RDS >> Mysql

MySQL krijgt rijpositie in ORDER BY

Gebruik dit:

SELECT x.id, 
       x.position,
       x.name
  FROM (SELECT t.id,
               t.name,
               @rownum := @rownum + 1 AS position
          FROM TABLE t
          JOIN (SELECT @rownum := 0) r
      ORDER BY t.name) x
 WHERE x.name = 'Beta'

...om een ​​unieke positiewaarde te krijgen. Dit:

SELECT t.id,
       (SELECT COUNT(*)
          FROM TABLE x
         WHERE x.name <= t.name) AS position,
       t.name    
  FROM TABLE t      
 WHERE t.name = 'Beta'

...geeft stropdassen dezelfde waarde. IE:Als er twee waarden op de tweede plaats staan, hebben ze allebei een positie van 2 wanneer de eerste zoekopdracht een positie van 2 geeft aan een van hen, en 3 aan de andere...



  1. DML invoegen met bindingsvariabele:clausule van uitvoering onmiddellijke verklaring GEBRUIKEN

  2. Klasse niet gevonden bij het laden van JDBC org.postgresql.Driver

  3. Hoe log ik in en authenticeer ik bij Postgresql na een nieuwe installatie?

  4. Verward over UPDLOCK, HOLDLOCK