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

सरणी से कम से कम एक मान से मेल खाने वाली सभी पंक्तियों को कैसे प्राप्त करें?

Lad2025 के sqlfiddle पर झुकाव और यह चतुर उत्तर पावेल से

स्कीमा

CREATE TABLE tab(
   id   INTEGER  NOT NULL PRIMARY KEY 
  ,sets VARCHAR(6) NOT NULL
);
INSERT INTO tab(id,sets) VALUES (1,'1');
INSERT INTO tab(id,sets) VALUES (2,'1,2');
INSERT INTO tab(id,sets) VALUES (3,'1,2,4');
INSERT INTO tab(id,sets) VALUES (4,'1,2,6');
INSERT INTO tab(id,sets) VALUES (5,'3,8,9');
INSERT INTO tab(id,sets) VALUES (6,'7,8,9');
INSERT INTO tab(id,sets) VALUES (7,'5,8,9');

क्वेरी

-- 1,2,3,6 ... seek this

select * from tab 
WHERE CONCAT(",", `sets`, ",") REGEXP ",(1|2|3|6),";
+----+-------+
| id | sets  |
+----+-------+
|  1 | 1     |
|  2 | 1,2   |
|  3 | 1,2,4 |
|  4 | 1,2,6 |
|  5 | 3,8,9 |
+----+-------+

बेहतर अभी तक, डेटा सामान्यीकरण के लिए उपरोक्त टिप्पणियों को प्रश्न के तहत देखें। यदि आप ऐसा करते हैं तो आप अनुक्रमणिका का इष्टतम उपयोग कर सकते हैं।



  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. तालिका से डेटा के साथ महीने की सभी तिथियां प्राप्त करें

  3. एंड्रॉइड रिमोट डेटाबेस कनेक्शन परेशानी

  4. मैक ओएसएक्स पर एक साधारण MySQL सी एप्लिकेशन संकलित करते समय मुझे अपरिभाषित प्रतीक क्यों मिलते रहते हैं?

  5. जोड़ें () उदाहरण – MySQL