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

Bagaimana cara mengurutkan kolom mysql yang memiliki data dalam Bytes KB MB GB?

Anda harus benar-benar mengubah semua data menjadi unit umum (misalnya byte) atau menambahkan kolom yang berisi "satuan ukuran" dan menjaga kolom ukuran itu sendiri numerik.

Karena itu, berikut ini harus bekerja pada data yang diakhiri dengan GB/MB/KB atau B.

select size
  from t
 order 
    by case when size like '%GB' then power(1024, 3) * substr(size, 1, length(size) - 2)
            when size like '%MB' then power(1024, 2) * substr(size, 1, length(size) - 2)
            when size like '%KB' then power(1024, 1) * substr(size, 1, length(size) - 2)
            when size like '%B'  then                  substr(size, 1, length(size) - 1)
        end desc;


+-------+------------+
| size  | bytes      |
+-------+------------+
| 1GB   | 1073741824 |
| 10MB  | 10485760   |
| 100KB | 102400     |
| 1000B | 1000       |
+-------+------------+


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Kesalahan fatal:Panggil ke fungsi yang tidak ditentukan mysql_connect_errno() di

  2. Replikasi Microsoft SQL ke database lain

  3. PILIH beberapa catatan untuk masing-masing DISTINCT dalam satu kueri

  4. Bagaimana cara menghubungkan XAMPP MySQL DB lokal menggunakan JDBC?

  5. Penggunaan yang tepat dari php mysqli autocommit dan rollback