सिंटैक्स
SELECT * FROM yourTableName ORDER BY ( yourColumnName LIKE '%yourValue1%' ) + ( yourColumnName LIKE '%yourValue2%' ) + ... N DESC;
उदाहरण
टेबल बनाएं:
mysql> CREATE TABLE demo2 (
-> id INT NOT NULL AUTO_INCREMENT,
-> name VARCHAR(100),
-> PRIMARY KEY (id)
-> );
mysql> INSERT INTO demo2 (name) VALUES ('John'), ('David'), ('John Smith'), ('John Doe'), ('David Miller'), ('Chris'), ('Bob Doe');
क्वेरी
'Doe' और 'David' वाले नामों को प्राथमिकता दें:
mysql> SELECT * FROM demo2
-> ORDER BY
-> (name LIKE '%Doe%')
-> + (name LIKE '%David%') DESC;
परिणाम
+----+--------------+ | id | name | +----+--------------+ | 2 | David | | 4 | John Doe | | 5 | David Miller | | 7 | Bob Doe | | 1 | John | | 3 | John Smith | | 6 | Chris | +----+--------------+
व्याख्या: प्रत्येक LIKE अभिव्यक्ति TRUE (1) या FALSE (0) लौटाती है। योग जितना अधिक, उतनी उच्च प्राथमिकता। DESC क्रम उच्चतम योग को पहले रखता है।