2016-02-29 126 views
0

我正在开发一个投票系统。 我在订购时遇到问题。 基本上我想先获得最高排名和最高提名。我使用“totalUserVoted”和“totalRating”降序排列的条件,但我的查询排序“totalUserVoted”。MySql查询中的多重订单

我期待这个顺序的结果。

Ordering Image

这里是我的SQL查询。

SELECT 
    (SELECT (((SUM(`design`)*4)+(SUM(`usability`)*3)+(SUM(`creativity`)*2)+(SUM(`content`))*1))/ count(`nominee_id`)/10 
    FROM `sk_award_nominee_rating` 
    WHERE `sk_award_nominee_rating`.`nominee_id`=`sk_award_nominee`.`nominee_id`) AS totalRating, 
    (SELECT count(`nominee_id`) 
    FROM `sk_award_nominee_rating` 
    WHERE `sk_award_nominee_rating`.`nominee_id`=`sk_award_nominee`.`nominee_id`) AS totalUserVoted, 
     `sk_award_nominee`.*, 
     `sk_user`.`username`, 
     `sk_user`.`email`, 
     `sk_user_profile`.`f_name`, 
     `sk_user_profile`.`m_name`, 
     `sk_user_profile`.`l_name`, 
     `sk_user_profile`.`address` 
FROM `sk_award_nominee` 
LEFT JOIN `sk_user` ON `sk_user`.`user_id`=`sk_award_nominee`.`user_id` 
LEFT JOIN `sk_user_profile` ON `sk_award_nominee`.`user_id`=`sk_user_profile`.`user_id` 
WHERE `sk_award_nominee`.`status` = 1 
    AND DATE(approval_date) = '2016-02-22' 
ORDER BY `totalUserVoted` DESC, 
     `totalRating` DESC 
+1

你能解释一下你正在试图获得的排序?你想按'totalUserVoted + totalRating'命令吗? –

+0

基本上我想在被提名人的最高评分与最大数量的用户投票。 –

+0

用户的评分和数量如何组合以获得预期的结果?获得最高评分的用户在预期结果中排名第三。这是怎么回事? –

回答

0

是这样的?

ORDER BY totalUserVoted DESC, totalRating DESC 

PHP MySQL Order by Two Columns

+1

请先阅读我的查询。我用同样的东西,但没有得到预期的结果。请再看看这个问题。 –