Jump to content
php.lv forumi

Recommended Posts

Posted

$result = mysql_query('select DISTINCT t1.tid,t1.title,t1.description,t2.post from '.$INFO['sql_tbl_prefix'].'topics t1 join '.$INFO['sql_tbl_prefix'].'posts t2 on (t1.tid = t2.topic_id) join topic_raiting t3 on (t1.tid = t3.id) where t1.forum_id in ('.$uSet['game_list'].');');

 

Kā lai sakārto pēc lielākā reitinga, būtībā (sum(t3.raiting)/(t3.kopējais ierakstu skaits ar konkrēto ID)) desc, nu galīgi nevaru iebraukt. Laikam nezinu pareizos keywordus.

 

Tā izskatās dati topic_raiting tabulā, id topika id, raiting - vērtējums, voter - balsotājs.

 

vf9cn1ue1tmd2kg6wh2p.png

Posted

Varētu sākt ar normālu kvērija stukturēšanu, mysql atslēgvārdu rakstīšanu ar lielajiem burtiem:

 

Normāla sintakse:

SELECT tas.šitas, tas, šitas FROM user_table ut
JOIN item_table it ON it.id = ut.item_id
WHERE ut.id = 1
ORDER BY ut.id ASC

 

Tas prefikss arī padara to lietu nelasāmu, vismaz īsāku aliasu uztaisi:

 

$pref = $BLABL['yapaypapsoejr'];
$q = "SELECT * FROM {$pref}table";

Posted (edited)

Parasti šādus datus (pēc kuriem regulāri kārto) kešo un indeksē. Šijā gadījumā tas būtu tā, ka tev topics tabulā ir lauks rating, kurā arī glabājas reitings. Lait balsojot ātri varētu aprēķināt jaunāko reitingu, vari glabāt arī total_rating (kopējais reitings no visām balsīm) un votes (balsojumu skaits) un pie jauna balsojuma pieskaitīt pie total_rating balsojuma reitingu, pie votes pieskaita 1 un rating aprēķina kā total_rating/votes.

 

Jo pretējā gadījumā, ja tev būs 1000 topiki, kur katrā ir vidēji 1000 balsojumi, kverijs pēc tavas idejas atlasīs 1000 000 ierakstus un vēl tos kārtos. Diez ko efektīvi nav.

Edited by codez
Posted

Joprojām gaidu atbildi kādu order by beigās pievienot.

tātu arī pievieno. .. ORDER BY tresha_tabula.lauks_pec_kura_kartot_izvadi kartošanas nosacijums ( ASC vai DESC)

siikaak sheit

Piedevām tev tur sintakse ir galīgi šķērsām ..

Posted (edited)

SELECT blabla, (sum(t3.raiting)/(t3.kopējais ierakstu skaits ar konkrēto ID)) AS aliass

....blabla...

ORDER BY aliass ASC

Edited by briedis

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...