mesela x videosu 15.04.2015 de 5 hit aldı
aynı x videosu 14.04.2015 de 2 hit aldı.
Şimdi son 7 gün dediğimizde bu videonun aldığı hit 7 olarak gözükmesi lazım ama bizde ya 2 gözüküyor ya da 5.
select * from madvideo INNER JOIN hit ON madvideo.id = hit.video_id WHERE hit.tarih>DATE_ADD(DATE(NOW()),INTERVAL -7 DAY) group by video_id order by hit.hit
2 satırı toplayıp 7 olarak sıralamaya alıyor ama gösterirken tek satırdan gösterme yapıyor.
yani while videonun o günkü hitini gösteriyor. son 7 günün toplam hitini gösteremedim
öncelikle biraz bilgi veriyim.
select ifadesinden sonra group fonksiyonları kullanırsan sum,avg,min,max vs
select min(sütun) from ...
group by kullanmana gerek yok.
ama sen gruplama fonksiyonu kullanırsan ve başka bir sütun seçersen
select sutunx,min(sütun) from ... group by sutunx
olarak yazmak zorundasın.
sorguna gelicek olursak group by video_id ifadesi var ama select kısmında grup fonk. yok.
select * from madvideo INNER JOIN hit ON madvideo.id = hit.video_id WHERE hit.tarih>DATE_ADD(DATE(NOW()),INTERVAL -7 DAY) group by video_id order by hit.hit
select video_id,sütun1,sütun2,vs..,sum(hit sütun adı) from madvideo INNER JOIN hit ON madvideo.id = hit.video_id WHERE
video_id=$videoid && hit.tarih>DATE_ADD(DATE(NOW()),INTERVAL -7 DAY) group by video_id
mysql buna izin vericek ama misal mssql de group by video_id,sütun1,sütun2 olarak yazılması gerekiyor diye biliyorum.
--R10.NET; Flood Engellendi -->-> Yeni yazılan mesaj 15:12:58 -->-> Daha önceki mesaj 15:06:29 --
mesela x videosu 15.04.2015 de 5 hit aldı
aynı x videosu 14.04.2015 de 2 hit aldı.
Şimdi son 7 gün dediğimizde bu videonun aldığı hit 7 olarak gözükmesi lazım ama bizde ya 2 gözüküyor ya da 5.
select * from madvideo INNER JOIN hit ON madvideo.id = hit.video_id WHERE hit.tarih>DATE_ADD(DATE(NOW()),INTERVAL -7 DAY) group by video_id order by hit.hit
2 satırı toplayıp 7 olarak sıralamaya alıyor ama gösterirken tek satırdan gösterme yapıyor.
yani while videonun o günkü hitini gösteriyor. son 7 günün toplam hitini gösteremedim
select video_id,sütun1,sütun2,vs..,
sum(hit sütun adı) from madvideo INNER JOIN hit ON madvideo.id = hit.video_id WHERE
video_id=$video_id && hit.tarih>DATE_ADD(DATE(NOW()),INTERVAL -7 DAY) group by video_id
while döngüsü kullanmıcaksın bu sorgu için, tek satır veri alıcaksın.