2010-12-03 85 views
0

我有两个表:选择计票的每个对象和顶部投票对象

投带领域pk:id, fk:uid, date和提交与领域pk:id, ...

表格在uid < -id字段上有1to1关系。他们的得分

  • 对象列表一起按分数排序10最受好评的对象
  • 名单:如何我现在可以查询?

回答

1
SELECT s.*, 
      COUNT(*) AS cnt 
     FROM SUBMISSION s 
INNER JOIN VOTE v ON s.id = v.uid 
    GROUP BY s.id 
    ORDER BY cnt DESC 
    LIMIT 10 

没有ORDER BYGROUP BY条款你只是检索所有的投票意见书。

但我强烈建议您在SUBMISSION表中创建votes_count场,并与触发/代码维护它存储有票的预先计算计数。

+0

我会考虑一下,谢谢! – decarbo 2010-12-03 02:47:42