我有这些表:复杂的SQL查询
- Users - id - Photos - id - user_id - Classifications - id - user_id - photo_id
我想通过照片,他们自己的分类+的总数订购用户。
我写此查询:
SELECT users.id, COUNT(photos.id) AS n_photo, COUNT(classifications.id) AS n_classifications, (COUNT(photos.id) + COUNT(classifications.id)) AS n_sum FROM users LEFT JOIN photos ON (photos.user_id = users.id) LEFT JOIN classifications ON (classifications.user_id = users.id) GROUP BY users.id ORDER BY (COUNT(photos.id) + COUNT(classifications.id)) DESC
的问题是,我希望这个查询不起作用,并且返回高的数字,而我只有一个数据库中的几张照片和分类。它返回如下所示的内容:
id n_photo n_classifications n_sum 29 19241 19241 38482 16 16905 16905 33810 1 431 0 431 ...
我们都假设SQL服务器 - 是否正确?什么版本? – 2009-08-07 08:49:04
对不起,这是MySQL ... – collimarco 2009-08-07 09:09:09