我有一个表,其中包含所有可下载项目的记录,而另一个表中包含每个下载的记录,其中包括下载日期,项目的ID和下载它的用户。
当我从数据库中获得项目列表时,我希望查询查找一个项目已被下载多少次并将其与其他项目数据一起包括。
这是我的SQL:SELECT t1.*,
(SELECT COUNT(*)
FROM tl_downloads
WHERE item_id = t1.id
AND download_date > ?)
AS downloads_count
FROM tl_items AS t1
ORDER BY downloads_count DESC
上面的查询在我在结果中得到一个称为'downloads_count'的额外列的意义上很好,该列包含正确的计数,但不会让我按此值排序。
我需要做什么才能能够通过子查询中返回的值对结果进行排序?
让我知道是否需要更多信息!
编辑-示例数据tl_items tl_downloads
id name id item_id download_date
1 Item 1 1 1 1385964000
2 Item 2 2 1 1385964000
3 Item 3 3 3 1385964000
我期望的结果是:Item 1 - Downloads 2
Item 3 - Downloads 1
Item 2 - Downloads 0
谢谢