İki adet datetime sütununa sahip Oturumlar adlı bir masa var: başlangıç ve bitiş.MySQL: Ortalama zaman farkları aldınız mı?
Her gün için (YYYY-AA-GG) birçok farklı başlangıç ve bitiş zamanı olabilir (HH: ii: ss). Bu başlangıç ve bitiş zamanları arasındaki tüm farkların günlük ortalamasını bulmam gerekiyor.
birkaç satır bir örnek verilebilir:
start: 2010-04-10 12:30:00 end: 2010-04-10 12:30:50
start: 2010-04-10 13:20:00 end: 2010-04-10 13:21:00
start: 2010-04-10 14:10:00 end: 2010-04-10 14:15:00
start: 2010-04-10 15:45:00 end: 2010-04-10 15:45:05
start: 2010-05-10 09:12:00 end: 2010-05-10 09:13:12
...
2010-04-10 için (saniye olarak) farklılıklar olacaktır:
50
60
300
5
2010-04- için ortalama 10, 103.75 saniye olur.
day: 2010-04-10 ave: 103.75
day: 2010-05-10 ave: 72
...
Ben başlangıç tarihine göre gruplandırılmış saat farkını alabilirsiniz ama ortalama almak için emin değilim: Ben böyle bir şey dönmek benim sorgu istiyorum. AVG işlevini kullanmayı denedim, ancak bunun yalnızca doğrudan sütun değerleri üzerinde çalıştığını düşünüyorum (başka bir toplu işlevin sonucu yerine).
SELECT
TIME_TO_SEC(TIMEDIFF(end,start)) AS timediff
FROM
Sessions
GROUP BY
DATE(start)
her timediff ortalamasını almak için bir yolu var mı tarih grubunu başlatın:
Bu benim ne var? İşlevleri birleştirmek için yeniyim, belki bir şeyi yanlış anlamış olabilirim. Alternatif bir çözüm biliyorsanız, lütfen paylaşın.
Her zaman bunu ad hoc yapabilir ve PHP'de ortalama değeri hesaplayabilirim ancak MySQL'de yapmanın bir yolu olup olmadığını merak ediyorum, böylece bir grup döngüyü çalıştırmamaya çalışıyorum.
Teşekkürler.
Evet, işte, sorumu gönderdiğim anda anladım. Kendimi aptal hissediyorum. Çalışmamamın sebebi, AVG (timediff) yapıyordum ve sanırım ifadeyi doğrudan doğruya geçmeniz gerekiyor ve bir takma ad kullanamıyorsunuz. Teşekkürler. – nebs