01-09-2009, 21:24
|
|
|
חבר מתאריך: 25.08.03
הודעות: 9,114
|
|
1. הצגת קוד מסודר, קריא יותר ולכן גם קל יותר ונדרש פחות זמן ללמוד אותו ולהבחין בטעויות:
קוד:
SELECT
category.cat_name,
guides.id,
guides.title,
guides.cat,
ranks.guide_id,
avg(rank) as avg_vote,
COUNT(*) AS num_vote
FROM
ranks,
guides,
category
WHERE
guides.id = ranks.guide_id
AND guides.lang_mark = 'en'
AND category.id = guides.cat
AND guides.active = '1'
GROUP BY
guide_id
ORDER BY
avg_vote desc,
num_vote desc
LIMIT
0, 10
2. באמצעות כינויים לטבלאות, ניתן לקצר את הקוד אף יותר:
קוד:
SELECT
c.cat_name,
g.id,
g.title,
g.cat,
r.guide_id,
avg(rank) as avg_vote,
COUNT(*) AS num_vote
FROM
ranks r,
guides g,
category c
WHERE
g.id = r.guide_id
AND g.lang_mark = 'en'
AND c.id = g.cat
AND g.active = '1'
GROUP BY
guide_id
ORDER BY
avg_vote desc,
num_vote desc
LIMIT
0, 10
|