Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> liczenie słów zgrupowanych GROUP_CONCAT i sortowanie.
omxd
post
Post #1





Grupa: Zarejestrowani
Postów: 135
Pomógł: 0
Dołączył: 18.05.2010

Ostrzeżenie: (0%)
-----


Witam,
jestem kiepski mysql dlatego prosze o pomoc.
Mam prostą tabelke:
id_tag name
286 drzewo
285 drzewo
286 twarz
Potrzebuję uzyskać taki wynik po zapytaniu - łącznie z sortowaniem score:
id_tag word_group score
286 twarz,drzewo 2
285 drzewo 1
próbuję:
  1. SELECT
  2. id_tag,
  3. GROUP_CONCAT(name) AS 'word_group',
  4. LENGTH('word_group') - LENGTH(REPLACE('word_group', ', ', ''))+1 AS 'score'
  5. FROM tag
  6. WHERE name='drzewo' OR name='twarz'
  7. GROUP BY id_tag

W obydwu przypadkach w score dostaję "1" i nie wiem jak posortować według score ( chyba muszę sortować przez id_tag ,inaczej się rozsypuję. )

Z góry dzięki!
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
mmmmmmm
post
Post #2





Grupa: Zarejestrowani
Postów: 1 421
Pomógł: 310
Dołączył: 18.04.2012

Ostrzeżenie: (0%)
-----


  1. SELECT
  2. `tag`.`id_tag` AS 'idtag',
  3. `item`.`id` AS 'itemid',
  4. GROUP_CONCAT(`tag`.`name`) AS 'word_group',
  5. Count(`tag`.`name`) AS 'score'
  6. FROM `tag`
  7. LEFT JOIN `item`
  8. ON `tag`.`id_tag`=`item`.`id`
  9. WHERE `tag`.`name` IN ('drzewo' , 'twarz')
  10. GROUP BY `tag`.`id_tag`, `item`.`id`
  11. ORDER BY 3 DESC


Ten post edytował mmmmmmm 30.04.2013, 07:09:42
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 5.10.2025 - 04:13