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

Porządek liczbowy podczas zwracania wyników z MySQL

Jest to problem z projektem bazy danych. Numer tematu powinien być przechowywany jako liczba całkowita. Jeśli nie możesz zmienić projektu, wypróbuj to zapytanie:

SELECT title
FROM table1
ORDER BY CAST(SUBSTRING_INDEX(SUBSTRING_INDEX(title, ' ', 2), ' ', -1)
              AS UNSIGNED);

Wynik:

'topic 1 foo'
'topic 2 bar'
'topic 10 baz'

Dane testowe:

DROP TABLE IF EXISTS table1;
CREATE TABLE table1 (title VARCHAR(100) NOT NULL);
INSERT INTO table1 (title) VALUES
('topic 1 foo'),
('topic 2 bar'),
('topic 10 baz');


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Korzystanie z poprzedniego folderu danych MySQL w nowej instalacji MySQL

  2. Wyeliminuj zduplikowane wiersze w instrukcji PostgreSQL SELECT

  3. Konwertuj zapisz/zaktualizuj szyny połączeń do sql

  4. pymysql callproc() wydaje się wpływać na kolejne wybory

  5. Konwertuj string/varchar na datę między tabelami MySQL