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

MYSQL टैग तालिका को छाँटना

अपडेट करें:

नीचे नई टिप्पणी के आगे:

( 
   SELECT     t.*, COUNT(*) AS tagcount
   FROM       tagged td
   LEFT JOIN  tags t ON (t.id = td.tag_id)
   GROUP BY   td.tag_id
   ORDER BY   tagcount DESC, t.title ASC
   LIMIT      3
) ORDER BY title ASC;

परिणाम:

+------+------------+----------+
| id   | title      | tagcount |
+------+------------+----------+
|    3 | javascript |        2 |
|    1 | mysql      |        2 |
|    2 | php        |        3 |
+------+------------+----------+
3 rows in set (0.00 sec)

बस LIMIT 3 बदलें करने के लिए LIMIT 10 शीर्ष 3 के बजाय शीर्ष 10 प्राप्त करने के लिए।

पिछला उत्तर:

आप एक LIMIT 10 क्यों नहीं जोड़ते? आपकी क्वेरी के लिए?

SELECT     t.*, COUNT(*) AS tagcount
FROM       tagged td
LEFT JOIN  tags t ON (t.id = td.tag_id)
GROUP BY   td.tag_id
ORDER BY   tagcount DESC, t.title ASC
LIMIT      10;

टेस्ट केस:

CREATE TABLE tags (id int, title varchar(20));
CREATE TABLE tagged (tag_id int, post_id int);

INSERT INTO tags VALUES (1, 'mysql');
INSERT INTO tags VALUES (2, 'php');
INSERT INTO tags VALUES (3, 'javascript');
INSERT INTO tags VALUES (4, 'c');

INSERT INTO tagged VALUES (1, 1);
INSERT INTO tagged VALUES (2, 1);
INSERT INTO tagged VALUES (1, 2);
INSERT INTO tagged VALUES (2, 2);
INSERT INTO tagged VALUES (3, 3);
INSERT INTO tagged VALUES (2, 4);
INSERT INTO tagged VALUES (3, 4);
INSERT INTO tagged VALUES (4, 5);

परिणाम (LIMIT 3 का उपयोग करके) ):

+------+------------+----------+
| id   | title      | tagcount |
+------+------------+----------+
|    2 | php        |        3 |
|    3 | javascript |        2 |
|    1 | mysql      |        2 |
+------+------------+----------+
3 rows in set (0.00 sec)

ध्यान दें कि कैसे [c] टैग शीर्ष 3 परिणामों से बाहर हो गया, और टाई होने की स्थिति में पंक्तियों को वर्णानुक्रम में क्रमबद्ध किया जाता है।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. mysql बहुसंकेतक प्रविष्टियों की कई घटनाओं की गणना करें

  2. कैसे mysql में सिर्फ हटाई गई पंक्तियों को पुनर्प्राप्त करने के लिए?

  3. MySQL कार्यक्षेत्र mysql.proc लोड नहीं कर सकता

  4. बस mysql डेटाबेस में 5 अंकों की संख्या को दिनांक में बदलें

  5. MySQL प्रश्नों में उच्चारण वर्णों को सामान्य बनाना