Mysql
 sql >> Baza danych >  >> RDS >> Mysql

mysql wybierz z n ostatnich wierszy

Zaczynając od odpowiedzi podane przez @chaos, ale z kilkoma modyfikacjami:

  • Zawsze powinieneś używać ORDER BY jeśli używasz LIMIT . Nie ma gwarancji niejawnej kolejności dla tabeli RDBMS. Możesz zazwyczaj pobierz wiersze w kolejności klucza podstawowego, ale nie możesz na tym polegać, ani nie jest on przenośny.

  • Jeśli uporządkujesz według w kolejności malejącej, nie musisz wcześniej znać liczby wierszy w tabeli.

  • Musisz podać nazwę korelacji (alias tabeli) do tabeli pochodnej.

Oto moja wersja zapytania:

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


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Praktyki pulowania połączeń JDBC MySql w celu uniknięcia wyczerpania puli połączeń

  2. jak dodać super uprawnienia do bazy mysql?

  3. Co to jest MySQL?

  4. Jaka jest domyślna nazwa ograniczenia w MySQL?

  5. SQL Inner Join – Jak połączyć 3 tabele w SQL i MySQL