Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Sortowanie tabeli tagów MYSQL

AKTUALIZACJA:

Dalej do nowego komentarza poniżej:

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

Wynik:

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

Po prostu zmień LIMIT 3 do LIMIT 10 aby dostać się do pierwszej dziesiątki zamiast pierwszej 3.

Poprzednia odpowiedź:

Dlaczego nie dodasz LIMIT 10 do Twojego zapytania?

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;

Przypadek testowy:

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

Wynik (przy użyciu LIMIT 3 ):

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

Zwróć uwagę, jak [c] tag wypadł z pierwszych 3 wyników, a wiersze są uporządkowane alfabetycznie w przypadku remisu.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak zmienić domyślny katalog danych MySQL/MariaDB w systemie Linux?

  2. Jak parsować w PHP i przechowywać w bazie danych?

  3. Jaki jest typ tego ciągu? a:1:{s:2:en;}

  4. Kolumna „user_id” na liście pól jest niejednoznaczna

  5. Hibernate 5:- org.hibernate.MappingException:Nieznana jednostka