Bir tabloda en son 20 girişlerinin listesi üzerinden 5 en çok izlenen makaleler seçmeye çalışıyorum. Benim tablo yapısı esas şudur:
id | date | title | content | views
Benim ilk düşünce sadece seçin, sonra 20 en son makaleleri almak için bir iç seçeneğini kullanmak için, ama herhangi bir şans var henüz.
//doesn't work (my version of mysql doesn't support LIMIT in sub queries)
$recent = "(SELECT id FROM news ORDER BY date DESC LIMIT 20)";
$result = $db->query("SELECT id, title, date, content FROM news WHERE id IN $recent ORDER BY views DESC LIMIT ".self::RECENT_MAX);
//neither does this (syntax error @ 'OFFSET 20')
$recent = "(SELECT MAX(date) FROM news ORDER BY date DESC OFFSET 20)";
$result = $db->query("SELECT id, title, date, content FROM news WHERE date > $recent ORDER BY views DESC LIMIT ".self::RECENT_MAX);
Herkes bu sorguyu yapısı olacağını konusunda herhangi bir öneriniz var mı?