2012-09-26 158 views
0

这是我mat_likes表:MySQL的:选择查询

mat_id| yes| no 
    1 | 1 | 0 
    1 | 1 | 0 
    1 | 1 | 0 
    2 | 1 | 0 
    3 | 1 | 0 
    4 | 1 | 0 
    4 | 1 | 0 

如何选择这些材料,它们具有最yes = 1mat_id。减去结果Еxample:

  1. mat_id = 1,因为有总yes = 3
  2. mat_id = 4,因为有总yes = 2
  3. mat_id = 3,因为有总yes = 1
  4. mat_id = 2,因为有总yes = 1

回答

3
SELECT mat_id,SUM(yes) yes_sum 
FROM mat_likes 
GROUP BY mat_id 
ORDER BY yes_sum DESC 

将返回一个结果集,其中每个mat_id的总和为yes,最高的总和在上面!

编辑:添加mat_id字段列表

0
SELECT mat_id, SUM(yes) yes_sum 
FROM mat_likes 
GROUP BY mat_id 
ORDER BY yes_sum DESC, mat_id DESC