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

Określ następną liczbę w zapytaniu do bazy danych za pomocą pętli while w php

Powinieneś zrobić to db zamiast swojej aplikacji:

select t.id_prfx, max(t.id_num) as latest_num from 
    (select substring(id, 1, 3) as id_prfx, 
     cast(substring(id,4) as integer) as id_num) t
    group by id_prfx

W ten sposób otrzymasz tabelę wyników, w której uzyskasz najwyższy numer części dla każdego prefiksu.

Jeśli naprawdę chcesz tylko przedrostków „ABC”, to:

select max(cast(substring(id,4) as integer)) as max_num from table
where id LIKE 'ABC%'


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak przekonwertować wszystkie tabele w bazie danych do jednego zestawienia?

  2. Jak sprawdzić, czy indeks mysql mieści się w całości w pamięci?

  3. Próbuję zbudować statyczną klasę bazy danych, do której mogę uzyskać dostęp z dowolnej funkcji spoza klasy

  4. Jedno zapytanie o aktualizację dla wszystkich aktualizacji

  5. Różnica dat między dwoma rekordami w tej samej tabeli