Pertanyaan Anda tidak masuk akal. Pertama Anda memilih tanggal DISTINCT (abaikan waktu) dari data. Lalu untuk setiap tanggal, Anda.. memilih semua data untuk tanggal tersebut?
Mengapa Anda tidak menjalankan satu kueri saja
SELECT *, DATE(added) as DateNoTime
FROM tb_videos
ORDER BY added desc
Jika Anda hanya ingin 5 tanggal, dan mejanya besar, ada dua kemungkinan.
1, Tidak pernah ada celah dalam tanggal, Anda dapat menggunakan
SELECT *, DATE(added) as DateNoTime
FROM tb_videos
WHERE added >= ADDDATE(CURDATE(), interval -4 days)
ORDER BY added desc
2, Jika mungkin ada celah, mis. tidak ada untuk kemarin sehingga harus menunjukkan 5 hari terakhir yang memiliki catatan
SELECT *, DATE(added) as DateNoTime
FROM (
select min(DateNoTime) as MinDate
from
(
select DATE(added) as DateNoTime
FROM tb_videos
order by DateNoTime desc
limit 5
) x) y, tb_videos
WHERE added >= y.MinDate
ORDER BY added desc
Ini memberi Anda semua data. Di PHP, lacak DateNoTime. Kapan pun itu berubah, Anda berada di tanggal yang berbeda, yang sebelumnya akan menyebabkan Anda mengaktifkan kueri lain. Kode seharusnya hanya berubah minimal.
Kode PHP tidak dicentang
$result = mysql_query('
SELECT *, DATE(added) as DateNoTime
FROM (
select min(DateNoTime) as MinDate
from
(
select DATE(added) as DateNoTime
FROM tb_videos
order by DateNoTime desc
limit 5
) x) y, tb_videos
WHERE added >= y.MinDate
ORDER BY added desc
');
$prevdate = NULL;
foreach($result as $rst)
{
if($prevdate!=$rst=>DateNoTime) {
// do something, like printing out a header for each new date
$prevdate=$rst=>DateNoTime;
}
// do something with the record
}