2010-12-03 82 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