MySQL'de bir InnoDB tablosuna kaydedilmiş bir dizi gönderi var. Tabloda "id", "tarih", "kullanıcı", "içerik" sütunları bulunur. Bazı istatistik grafikler yapmak istedi, ben de dün saat başına Yayın miktarını almak için aşağıdaki sorguyu kullanarak bitti:MySQL'de saat başına ortalama mesajlar?
I:
SELECT HOUR(FROM_UNIXTIME(`date`)) AS `hour`, COUNT(date) from fb_posts
WHERE DATE(FROM_UNIXTIME(`date`)) = CURDATE() - INTERVAL 1 DAY GROUP BY hour
Bu aşağıdaki veri çıkışı İstediğim herhangi bir gün almak için bu sorguyu düzenleyebilir. Ama şu an istediğim, her günün saatinin AVERAGE'idir, yani eğer 1. günde 00 saatte 20 yazım var ve 2. günde 00 saatte 40'ım var, çıkışın "30" olmasını istiyorum. Mümkünse tarih aralığını da seçebilirim.
Şimdiden teşekkürler!
Neden (...) alt sorgusundan sonra bir "s" ekliyorsunuz? –
Bu hatayı önlemek için MySQL'de gerekli olan alt sorgu için bir takma addır: 'ERROR 1248 (42000): Her türetimli tablonun kendi takma adı olmalıdır. İsterseniz sub_query gibi bir şey kullanırsanız daha ayrıntılı olabilirsiniz. –
Oh, anlıyorum. Linoff çözümü çok benzer olmasına rağmen, SQL'i çok daha iyi anlamama yardımcı olan bu. Teşekkürler! –