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

MySql तालिका से अद्वितीय शब्दों की सूची प्राप्त करता है जहां एक क्षेत्र में मान अल्पविराम से अलग होते हैं

आप इसे SQL में कर सकते हैं, हालांकि यह सुंदर नहीं है।

select distinct reverse(substring_index(reverse(substring_index(tags, ',', n.n)), ',', 1)) as word
from t cross join
     (select 1 as n union all select 2 as n union all select 3 as n union all select 4 as n) n
having word is not null

आपको यह सुनिश्चित करने की आवश्यकता है कि सबक्वेरी n प्रत्येक टैग में कम से कम शब्दों की संख्या होती है।

यहां SQLFiddle है जो इसे प्रदर्शित करता है।

यह मूल डेटा को अनुक्रमिक संख्याओं के साथ जोड़ रहा है। इसके बाद यह substring_index() का उपयोग करके टैग स्ट्रिंग्स से nth मान निकालता है। ।

टैग की अधिकतम संख्या प्राप्त करने के लिए, आप यह कर सकते हैं:

select max(length(tags) - length(replace(tags, ',', 1))+1
from t


  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. मैसकल इनर OR कंडीशन के साथ जुड़ें?

  3. जावा तैयार स्टेटमेंट और डिप्लिकेट कुंजी अपडेट पर:मुझे कैसे पता चलेगा कि पंक्ति डाली गई थी या अपडेट की गई थी?

  4. सुरक्षा सलाहकार MySQL अलर्ट को कैसे ठीक करें

  5. MySQL में MAX () बनाम ग्रेटेस्ट ():क्या अंतर है?