sql >> Database >  >> RDS >> Mysql

mysql selecteren uit n laatste rijen

Uitgaande van het antwoord gegeven door @chaos, maar met een paar aanpassingen:

  • Gebruik altijd ORDER BY als u LIMIT . gebruikt . Er is geen impliciete volgorde gegarandeerd voor een RDBMS-tabel. Je mag meestal krijg rijen in de volgorde van de primaire sleutel, maar u kunt hier niet op vertrouwen en het is ook niet overdraagbaar.

  • Als u in aflopende volgorde bestelt, hoeft u niet vooraf het aantal rijen in de tabel te weten.

  • U moet een correlatienaam opgeven (ook wel tabel alias genoemd) naar een afgeleide tabel.

Dit is mijn versie van de vraag:

SELECT `id`
FROM (
    SELECT `id`, `val`
    FROM `big_table`
    ORDER BY `id` DESC
    LIMIT $n
) AS t
WHERE t.`val` = $certain_number;


  1. Maak een standaard openbaar profiel voor databasemail in SQL Server (T-SQL)

  2. Waarde Fout bij het importeren van gegevens in de postgres-tabel met psycopg2

  3. Hoe zoek ik naar schuine streep (\) in MySQL? en waarom is escapen (\) niet vereist voor waar (=) maar voor Like is vereist?

  4. Hoe te migreren van Oracle DB naar MariaDB