Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Bagaimana cara mengurutkan hasil MySQL dengan huruf terlebih dahulu, simbol terakhir?

Ini akan menempatkan semua artis yang namanya dimulai dengan huruf a-z sebelum mereka yang tidak:

SELECT DISTINCT artist
FROM songs
ORDER BY artist REGEXP '^[a-z]' DESC, artist

Lihat itu bekerja online:sqlfiddle

Tetapi Anda mungkin lebih suka menyimpan kolom kedua dengan nama yang disederhanakan sehingga Anda dapat mengaturnya dalam urutan yang lebih masuk akal:

artists

artist            | simplified_name
------------------------------------
&i                | i
+NURSE            | nurse
2007excalibur2007 | excalibur

Nilai untuk simplified_name tidak dapat dibuat dengan mudah di MySQL, jadi Anda mungkin ingin menggunakan bahasa pemrograman tujuan umum untuk mengeluarkan semua artis, mengubahnya menjadi nama yang disederhanakan, lalu mengisi database dengan hasilnya.

Setelah ini selesai, Anda dapat menggunakan kueri ini:

SELECT DISTINCT artist
FROM artists
ORDER BY simplified_name


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Mengurangi satu baris data dari yang lain di SQL

  2. Cara DROP kolom dari tabel di MySQL menggunakan nomor kolom

  3. python:bagaimana cara mendapatkan notifikasi untuk perubahan database mysql?

  4. memilih baris dengan id dari tabel lain

  5. 3 Cara untuk Mendeteksi jika String Cocok dengan Ekspresi Reguler di MySQL