Öncelik ile tablolarını bilmiyorum ama anlatarak yardımcı olayım,

Böyle bir istekte bulunduğundan dolayı tablonda okunan haberlerin ne zaman okunduğu kayıt ediliyor demektir. Ve tablon şu şekilde olması gerekiyor

HaberTablosu
___________
ID
HaberAdı
HaberTarihi
..

HaberHit
_________
ID
HaberID
Hitdate

Eğer tablon bu şekilde ise;

sql = "SELECT HaberAdı FROM HaberTablosu WHERE ID IN (SELECT HaberID,COUNT(*) AS HITS FROM HABERHIT WHERE HITDATE =".date("Ymd")." GROUP BY HaberID ORDER BY HITS LIMIT 5)"

Yukardaki sql hit tablosundaki tabloları ID'ye göre gruplayarak toplar ve maksimum hit'e göre en fazla hiti olan 5 kaydın haberID'sini geri dönderir. Be dönen HaberID'lerinin isimleri bulunur ve yazılır.

Şuan bunun haricinde sana önerebileceğim bir tablo yapısı yok. Tablonu yazarsan daha fazla yardımcı olmaya çalışırız.

Kolay gelsin.