Olaylar ile tablo gün istatistiklerine unixtime

4 Cevap php

Ben bir online sözlük var. Tüm girişler tablo "id-word-unixtime" kaydedilir. Şimdi bir gün aradı ve o veri ile grafik ya da tablo yapmak kaç kelime istatistikleri yapmak istiyorum.

Bu arşiv için en iyi yolu nedir? Ben tarihler için başka bir tablo yapmak ya da bir PHP senaryo yazmak mı?

Ben sadece temel yön gerekiyor.

4 Cevap

Orada birçok soru, ama unixtime gelen tarihleri ​​oluyor endişe gibi ana şey.

MySQL var FROM_UNIXTIME().

Böyle bir şey başlamak gerekir:

  SELECT FROM_UNIXTIME(unixtime,'%Y-%m-%d') as the_date,
         count(word) as word_count
    FROM table
-- add conditions here
GROUP BY 1;

Eğer veri sunumu ile ilgili PHP-özel sorularınız varsa ben başka bir soru açmak öneririz.

Muhtemelen bir cevabı hesaplamak ve sonra sonucu önbelleğe, sunucu üzerindeki yükü azaltmak istiyorum. Gün bitti kez, sadece bir kez bunun için tüm istatistikleri hesaplamak zorunda.

Bir gün başlar ve ne zaman bir şey için önemli bir şeydir. Sitenizin ziyaretçi baştan oluşturmak varsa, muhtemelen UTC kullanmalısınız. Ziyaretçilerin% 95'i ABD ise, Doğu Zamanı daha mantıklı olabilir.

SELECT COUNT(*), FROM_UNIXTIME(unixtime, '%Y-%M-%D')
FROM table
WHERE unixtime BETWEEN $start AND $end
GROUP BY FROM_UNIXTIME(unixtime, '%Y-%M-%D')

Bu günlük arama ile sizlere her gün vermelidir. Bu oldukça pahalı bir arama var, o yüzden önbelleğe isteyebilirsiniz.

Haklısın, bu çok temel bir SQL sorgusu var. Gibi bir şey

SELECT word, count(word) FROM table 
WHERE unixtime BETWEEN (starttime AND endtime) GROUP BY word 

PHP ve MySQL birinde starttime ve endtime hesaplayabilirsiniz.

Ve emin olun, bir grafik çizmek için bir PHP komut dosyası yazmak gerekir, ama bu başka bir soru.