Jump to content
php.lv forumi

top50 ieraksti


ray

Recommended Posts

Es tomēr ieteiktu USERS tabulā uztaisīt lauku comment_count un tad pie katra komentāra pievienošanas pieskaiti tam USERim comment_count un tad TOP komentus vienkārši ar

SELECT username,comment_count FROM users ORDER BY comment_count DESC LIMIT 0, 50;

Edited by betons
Link to comment
Share on other sites

tad pieņemsim, ka tabulu pārveido šādi [id, komentars, user, views], klāt nāk lauks ar skaitu, cik reizes konkrētais komentārs ir apskatīts. kā izveidot šādu query?

Vēlamais rezultāts būtu šāds:

 

autors, komentāru skaits, skatījumi [kopējais apskatījumu skaits komentāriem].

 

p.s. paldies, iepriekšējais query strādā nevainojami

Edited by ray
Link to comment
Share on other sites

Dari tāpat kā ieteicu iepriekš

izveido lietotājam lauku total_comment_views un, katru reizi, kad apskata konkrēta lietotāja komentāru palielina USER tabulā to total_comment_views un tad tev nevajadzēs nekādus sarežģītus kverijus, jo tas total_comment_views jau būs katram lietotājam.

 

 

 

=================

 

Par top 50 kverijiem!

 

Man ir jautājum kādam kurš zin, par andrisp kveriju:

SELECT author, COUNT(*) as comment_count 
FROM comments GROUP BY author 
ORDER BY comment_count DESC LIMIT 50

 

Ja būs 50 autori savadījuši pa 1000 komenti katrs, kāds būs šī kverija laiks, ja visas kollonas būs salikti pareizi indeksi.

REspektīvi vai mysql indeksu koks glabā kautkādas daudzumu starpvērtības vai arī šī kverija ilgums būs 50 000 darbības ?

Edited by betons
Link to comment
Share on other sites

par to pirmo query vēl, kā izslēgt to, lai vienādos komentārus skaitītu kā vienu?

 

Dari tāpat kā ieteicu iepriekš

 

tā arī izdarīju, tagad vajag līdzīgu lietu, bet nu vnk to cenšos atrisināt ar šiem tabulas laukiem, lai nav jāskaidro situācija pa jaunu

Edited by ray
Link to comment
Share on other sites

×
×
  • Create New...