Aşağıdaki sorgu (MSSQL'de) soruna doğru bir cevap verir: aylık olarak kaç tane IP toplandı? Her 60 günde bir sayıyı nasıl alabilirim?datepart() kullanarak her 60 günde bir sayımı nasıl alabilirim?
select MIN(rowdate) min_rowdate,
MAX(rowdate) max_rowdate,
count(distinct IP),
DATEPART(MONTH, rowdate) month_
from t_tbl tl (nolock)
where rowdate between '2015-01-01 00:00:00' and '2015-12-31 23:59:59'
group by DATEPART(MONTH, rowdate)
Teşekkür @Damien_The_Unbeliever
(bir sıfır olmayan milisaniye değeri ile sırasında 2015, yani son saniye oldu bir olay dışlamaz böylece deWHERE
maddesini düzeltilmiş ettik), ben Bu satırın içine bir tarih koymaya çalıştım: DATEDIFF (gün, '2015-01-01', rowdate)/60 ile grup ama "... bir toplama işlevi veya GROUP BY deyiminde yer almayan bir hata veriyor" SQL için oldukça yeni .. – mql4beginnerNeden açık tarih yerine 'DATEDIFF''de' 0' kullanıyorsunuz? Burada birkaç tuş vuruşu kaydettiniz ve "rowdate" veri türü "datetime" dan "datetime2" ye değiştiğinde kod kırılacak. Benim endişem burada kötü uygulamaları teşvik ediyor. –