sql >> Databasteknik >  >> RDS >> Mysql

hämta den senast infogade raden från varje användare i databasen

Om du behöver få den sista, och sedan den föregående sista, och så vidare, måste du använda en rankningsfunktion:

SELECT *
FROM (
  SELECT
    Users.*,
    CASE WHEN @lst=User THEN @row:[email protected]+1 ELSE @row:=0 END row,
    @lst:=User
  FROM
    Users
  WHERE
    User IN ('ina','chris','john')
  ORDER BY
    User, Date_ins DESC
) s
WHERE
  row=0

row=0 kommer att få det senaste datumet, row=1 det föregående sista, och så vidare...

Se fiolen här .



  1. COUNT(*) returnerar flera rader istället för bara en

  2. 3 SQL Server-övervakningsfrågor att ställa när man tar över en DBA-position

  3. Lat laddning från databasen när användaren rullar ner sidan (liknar Twitter och Facebook)

  4. Hur förfinar man utdata som kommer från SELECT-frågan i kommandotolken?