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

GROUP_CONCAT से एक MYSQL स्ट्रिंग को एक (सरणी, जैसे, अभिव्यक्ति, सूची) में विभाजित करें जिसे IN () समझ सकता है

IN() . का उपयोग करने के बजाय , FIND_IN_SET() using का उपयोग करेगा एक विकल्प भी हो?

http://dev.mysql .com/doc/refman/5.0/hi/string-functions.html#function_find-in-set

mysql> SELECT FIND_IN_SET('b','a,b,c,d');
    -> 2

प्रश्न में उदाहरण समस्या के आधार पर यहां एक पूर्ण उदाहरण दिया गया है, जिसकी पुष्टि प्रश्नकर्ता द्वारा प्रश्न के पहले के संपादन में की गई है:

SELECT name FROM person LEFT JOIN tag ON person.id = tag.person_id GROUP BY person.id 
  HAVING ( FIND_IN_SET(1, GROUP_CONCAT(tag.tag_id)) ) AND ( FIND_IN_SET(2, GROUP_CONCAT(tag.tag_id)) );
+------+
| name |
+------+
| Bob  |
+------+


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. क्या सभी मौजूदा टेबल डेटा को यूटीएफ 8 संयोजन में बदलने का कोई तरीका है?

  2. एसक्यूएल:क्या मैं विंडो फ़ंक्शन में डेटा को वर्तमान पंक्ति में संदर्भित/एक्सेस कर सकता हूं?

  3. उसी टेबल पर MYSQL जॉइन करें

  4. हैवी जॉइन के साथ MySQL क्वेरी को ऑप्टिमाइज़ करना

  5. MySQL अपडेट/इन्सर्ट स्टेटमेंट को गति दें