ID、PAGE_ID、DATE
ページがロードされるたびに、DATEを持っている、[以下のページテーブルから] PAGE_IDがにロードされています上記の表
私は人気度でページを計算してソートしようとしています。ページテーブルが含まれています
ID [PAGE_ID]、DESCRIPTION、DATE
私はどこから始めれば見当がつかない。
ID、PAGE_ID、DATE
ページがロードされるたびに、DATEを持っている、[以下のページテーブルから] PAGE_IDがにロードされています上記の表
私は人気度でページを計算してソートしようとしています。ページテーブルが含まれています
ID [PAGE_ID]、DESCRIPTION、DATE
私はどこから始めれば見当がつかない。
select L.PAGE_ID, P.DESCRIPTION, count(L.ID) from LOADED_PAGE L
inner join PAGE P on P.ID = L.PAGE_ID
where L.DATE > :sevenDaysAgo
group by L.PAGE_ID, P.DESCRIPTION
order by count(L.ID) desc
最も人気の少なくとも1つに、あなたにロードされたページのリストを提供します。
select
id_page,
count(*) as popularity
from table
where date >= curdate() - interval 7 day
group by id_page
order by popularity desc
ニック、これはtable1をソートしますが、table2 [ページテーブル]はソートしないようです。 – DaedBaet
申し訳ありませんが、私はあなたの質問に誤解していました。次に、JB Nizetが示唆しているようにjoinを使用する必要があります:) –
'count()'で注文することはできません。代わりに、最初の行に列名をエイリアスし、でエイリアスを使用してください。 PDO開始日入力の場合は+1です。 – Arjan
はい、少なくともpostgreSQLとoracleでは可能です。 MySQLでうまく動作しないと私は驚いています。 –
あなたは正しいです、それは動作します、私は混乱したと思います。 – Arjan