Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

Mysql कॉलम को कैसे सॉर्ट करें जिसमें बाइट्स केबी एमबी जीबी में डेटा है?

आपको वास्तव में या तो सभी डेटा को एक सामान्य इकाई (जैसे बाइट्स) में बदलना चाहिए या एक कॉलम जोड़ना चाहिए जिसमें "माप की इकाई" हो और आकार कॉलम को ही संख्यात्मक रखें।

ऐसा कहने के बाद, निम्नलिखित को जीबी/एमबी/केबी या बी के साथ समाप्त होने वाले डेटा पर काम करना चाहिए।

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. पासवर्ड नमक कैसे स्टोर करें

  2. MySqlConversionException DataReader से डेटटाइम फ़ील्ड तक पहुँचने पर

  3. तालिका के डिफ़ॉल्ट संयोजन को कैसे बदलें?

  4. MySQL में डुप्लीकेट कैसे खोजें

  5. तालिका के सभी स्तंभों को अनुक्रमित किया जाना चाहिए या नहीं mysql डेटाबेस?