sql >> Databasteknik >  >> RDS >> Mysql

Sortering av MYSQL-taggtabell

UPPDATERING:

Vidare till den nya kommentaren nedan:

( 
   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;

Resultat:

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

Ändra helt enkelt LIMIT 3 till LIMIT 10 för att få topp 10 istället för topp 3.

Föregående svar:

Varför lägger du inte till en LIMIT 10 till din fråga?

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;

Testfall:

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);

Resultat (med LIMIT 3 ):

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

Notera hur [c] taggen föll ur de tre bästa resultaten och raderna ordnas i alfabetisk ordning om det blir oavgjort.



  1. Skapa en postgresql DB med psycopg2

  2. Hur Log() fungerar i PostgreSQL

  3. Det gick inte att släppa objektet eftersom det refereras av en FOREIGN KEY-begränsning - SQL Server / TSQL Tutorial Del 74

  4. Så här fixar du "Partitionsschemat '...' har ingen nästa använda filgrupp" i SQL Server