ylv adlı üyeden alıntı: mesajı görüntüle
yapmak istediğin yapıya istemsiz dahil oluyorum.

gün,ay,yıl diye ayrı ayrı oluşturulmuş bir tarih sütunu olamaz. mysql'in gün ay yıl bilgisi içeren DATE adında tipi var.

veritabanlarının hepsi için geçerlidir ne tablo oluşturursan oluştur o tablonun bir tane primary key olmak zorundadır.

senin istediğin yapı için tablon
video_id (int),tarih(date),hit(int) sütunlarında oluşacak
ve video_id ve tarih iki sütun ortak primary key oluşturucak.

hits(video_id,tarih,hit)

güncelleme işleminde
sql > SELECT COUNT(*) FROM hits WHERE video_id=$videoid and tarih=DATE(NOW())

eklenme olmuş ise
sql > UPDATE hits SET hit = hit + 1 WHERE video_id ='$video_id' and tarih=DATE(NOW())

olmamış ise
sql > INSERT INTO hits VALUES ($video_id,1,DATE(NOW()))


sonrasında

bugün izlenme sayısı
sql > SELECT hit FROM hits WHERE video_id = $video_id and tarih=DATE(NOW())

son 7 gün

sql > SELECT video_id,SUM(hit) FROM hits WHERE video_id = $video_id and tarih>DATE_ADD(DATE(NOW()),INTERVAL -7 DAY) group by video_id

vs vs istediğin gibi türet..

kalın belirttiğim yerlere dikkat edin video_id ve tarih sütunlarında filtreleme yapıyorum yani primary key'im üzerinde
ben mi yanlış anladım yoksa bu şekilde update ettiğinde her seferinde tarihi değiştirmiş olacaksın. tarih sürekli değişip hep bugünü yazarsa nasıl son 7 günü alabilirsin ki ?