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

MySQL में स्ट्रिंग वर्णों को छाँटना

शायद अत्यधिक अक्षम, लेकिन उपयोगकर्ता-परिभाषित कार्यों की आवश्यकता के बिना:

SELECT GROUP_CONCAT(LETTER SEPARATOR '') AS ReOrderedLetters
  FROM ( SELECT 'A' as LETTER FROM <table> WHERE UPPER(`name`) like '%A%'
         UNION ALL
         SELECT 'B' as LETTER FROM <table> WHERE UPPER(`name`) like '%B%'
         UNION ALL
         SELECT 'C' as LETTER FROM <table> WHERE UPPER(`name`) like '%C%'
         UNION ALL
         SELECT 'D' as LETTER FROM <table> WHERE UPPER(`name`) like '%D%'
         ...
         UNION ALL
         SELECT 'Y' as LETTER FROM <table> WHERE UPPER(`name`) like '%Y%'
         UNION ALL
         SELECT 'Z' as LETTER FROM <table> WHERE UPPER(`name`) like '%Z%'
       ) alpha

संपादित करें

मुझे बिस्तर पर जाने से पहले एक बेहतर विकल्प के साथ आना पड़ा, नहीं तो मुझे कभी नींद नहीं आती; तो यहाँ एक अधिक स्वच्छ और अधिक कुशल विकल्प है।

मैंने अक्षर नामक एक तालिका बनाई जिसमें VARCHAR (1) के एकल स्तंभ के साथ पत्र कहा जाता है, फिर उस तालिका को A से Z तक अक्षरों से भर दिया जाता है

CREATE TABLE IF NOT EXISTS `letters` (
   `letter` varchar(1) NOT NULL,
   PRIMARY KEY (`letter`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

INSERT INTO `letters` (`letter`) VALUES
('A'),('B'),('C'),('D'),('E'),('F'),('G'),('H'),('I'),('J'),('K'),('L'),('M'),
('N'),('O'),('P'),('Q'),('R'),('S'),('T'),('U'),('V'),('W'),('X'),('Y'),('Z');

तब:

select U.`name`,
       GROUP_CONCAT(L.`letter` 
           ORDER BY L.`letter` ASC 
          SEPARATOR '') AS ReOrderedLetters 
  FROM `users` U 
  LEFT JOIN `letters` L ON POSITION(L.`letter` IN UPPER(U.`name`)) > 0
 GROUP BY U.`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. क्या एक साधारण वेब दस्तावेज़ सिस्टम (या मूल CMS) पर RDBMS बनाम फ़्लैट फ़ाइलों का उपयोग करने के कोई वास्तविक लाभ हैं?

  2. mysql उपयोगकर्ता केवल तभी बनाते हैं जब उपयोगकर्ता मौजूद नहीं होता है

  3. केकपीएचपी में एक मॉडल के लिए गतिशील रूप से एकाधिक डेटाबेस का उपयोग कैसे करें

  4. क्वेरी mysql और PHP में CSV के रूप में डेटा निर्यात करें

  5. MySQL में 1 कॉलम में कई पंक्तियों को अपडेट करें