MySQL的。基于临时列排序

时间:2011-10-12 18:59:56

标签: mysql ruby-on-rails

我有2张名为相册照片的表格,其中评分是照片表格中的属性之一。

我想知道是否可以根据相册中的照片总数排序相册。应根据评分属性中的条件生成照片总数。

我不想在相册表中添加新列,根据评分计算照片数量,因为评分不断变化。

2 个答案:

答案 0 :(得分:1)

您可以通过使用内部查询(将像临时表一样)来实现相同的目标,而不是创建新列

...一样

SELECT * FROM album a
JOIN ( SELECT yourlogic(rating) AS total_no_photos,  album_id FROM photo
      WHERE yourlogic  
      GROUP BY album_id 
       ) temp_photo
ON temp_photo.album_id = a.album_id
ORDER BY total_no_photos

答案 1 :(得分:0)

  1. 应在子查询中提取相册中的照片总数。
  2. 给一个有意义的别名说photos_count
  3. 您可以按顺序使用photos_count。结果将被排序。