Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> MySQL

MySQL में कॉमा-सेपरेटेड सूची के भाग से रिकॉर्ड कैसे प्राप्त करें?

MySQL में FIND_IN_SET() फ़ंक्शन का उपयोग करके आप कॉमा-सेपरेटेड मानों वाले कॉलम में किसी विशिष्ट मान की खोज कर सकते हैं। यह तब उपयोगी होता है जब डेटा नॉर्मलाइज़्ड नहीं होता और एक कॉलम में कई मान कॉमा से अलग करके संग्रहीत होते हैं।

उदाहरण तालिका बनाना

mysql> CREATE TABLE DemoTable (
    Id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
    Name VARCHAR(20),
    Marks VARCHAR(200)
);

कॉमा-सेपरेटेड डेटा के साथ रिकॉर्ड डालना

mysql> INSERT INTO DemoTable (Name, Marks) VALUES ('Larry', '98,34,56,89');
mysql> INSERT INTO DemoTable (Name, Marks) VALUES ('Chris', '67,87,92,99');
mysql> INSERT INTO DemoTable (Name, Marks) VALUES ('Robert', '33,45,69,92');

डेटा देखना

mysql> SELECT * FROM DemoTable;

आउटपुट:

+----+--------+-------------+
| Id | Name   | Marks       |
+----+--------+-------------+
| 1  | Larry  | 98,34,56,89 |
| 2  | Chris  | 67,87,92,99 |
| 3  | Robert | 33,45,69,92 |
+----+--------+-------------+

FIND_IN_SET() के साथ खोज करना

mysql> SELECT Id, Name FROM DemoTable WHERE FIND_IN_SET('99', Marks) > 0;

आउटपुट:

+----+-------+
| Id | Name  |
+----+-------+
| 2  | Chris |
+----+-------+

व्याख्या: FIND_IN_SET(str, strlist) फ़ंक्शन strlist (कॉमा-सेपरेटेड स्ट्रिंग) में str की स्थिति लौटाता है। यदि मान मिलता है तो स्थिति (1-आधारित) लौटाता है, अन्यथा 0 लौटाता है। > 0 का उपयोग करके हम केवल उन पंक्तियों को फ़िल्टर करते हैं जहां मान मौजूद है।

नोट: यह फ़ंक्शन केवल कॉमा-सेपरेटेड स्ट्रिंग्स के साथ काम करता है। बेहतर डिज़ाइन के लिए, कई मानों को अलग तालिका में संग्रहीत करने पर विचार करें (नॉर्मलाइज़ेशन)।

  1. - MySQL में एक क्वेरी से पहली टेबल के चुनिंदा रिकॉर्ड दूसरी टेबल में INSERT करें

    MySQL INSERT INTO SELECT: शर्त के साथ एक टेबल से दूसरी में डेटा कॉपी करना INSERT INTO ... SELECT सिंटैक्स का उपयोग करके आप एक क्वेरी में एक टेबल से डेटा चुनकर (शर्त के साथ) दूसरी टेबल में डाल सकते हैं। उदाहरण: DemoTable1 से Id ≠ 2 वाले रिकॉर्ड DemoTable2 में डालें पहली टेबल: CREATE TABLE DemoTable1

  1. - MySQL में REGEXP का उपयोग करके कॉमा-पृथक मानों से विशिष्ट मान के आधार पर रिकॉर्ड्स प्राप्त करना

    MySQL REGEXP के साथ CSV कॉलम में मान खोजना कॉमा-पृथक मान (CSV) कॉलम में विशिष्ट मान खोजने के लिए, REGEXP ऑपरेटर का उपयोग एक ऐसे पैटर्न के साथ करें जो पूर्ण मान सीमाओं से मिलान करता है, आंशिक मिलान से बचाता है। उदाहरण: CSV में मान 90 वाली पंक्तियाँ ढूंढना SELECT * FROM DemoTable1447; +-------------

  1. - महीनों की एक श्रृंखला से रिकॉर्ड प्राप्त करने का MySQL क्वेरी?

    आइए पहले एक टेबल बनाते हैं: mysql> create table DemoTable1795 ( Name varchar(20), DueDate date ); Query OK, 0 rows affected (0.00 sec) इन्सर्ट कमांड का उपयोग करके टेबल में कुछ रिकॉर्ड डालें: mysql> insert into DemoTable1795 values(John,2018-07-21); Query OK, 1 row affected (0.00 sec)