ダウンロード可能なすべてのアイテムのレコードを含む 1 つのテーブルと、ダウンロード日、アイテムの 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
ありがとう