Cevaplar
-
Tarih saat bilgisine göre group yaparsanız hatalı sonuç alırsınız. Mantık hatanız var. Bir şeyi grouplamak için ortak birşeyler olması lazım. Her bir saat bilgisi farklı bir kaydı getirir. Eğer güne göre grouplamak istiyorsan LEFT kullanarak sondaki saniye vs atman gerekir. Anladığım kadarıyla istediğin de bu.
Aşağıdaki gibi dene eğer doğru anladıysan doğru sonucu verecektir.
select LEFT(TarihSaat, 10),COUNT(*) as Adet,SUM(Tutar) as ToplamTutar from tblKuponlar group by TarihSaat
-
azalet
Kardeşim cevap için teşekürler. Fakat gruplama yapmıyor. her bir kaydı tek tek gösteriyor. nedeni su olsa gerek, gruplama yaparken tarihsaat sutunundaki değerden, saat bilgisi çıkmadan gruplama yapılıyor. buda listelerken tarihsaat sutunundaki sadece tarih kısmını listelemissin.10 yıl önce yazılmış 10 yıl önce güncellenmiş -
Kesali
O zaman bu şekilde olması gerekli.
select LEFT(TarihSaat, 10) as yenisaat ,COUNT(*) as Adet,SUM(Tutar) as ToplamTutar from tblKuponlar group by yenisaat
Neyse sorununu çözmüşsün.10 yıl önce yazılmış -
azalet
Kardeşim denedim fakat bu da sonuc vermiyor tabloda yenisat kolon adı geçersiz diyor.10 yıl önce yazılmış -
Kesali
Mssql kurulu değil ama mysql de denedim istediğin sonucu veriyor. Zaten yeni saat kolon değilki tarihsaat yerine kullandığım alias.10 yıl önce yazılmış
-
-
Kardeşim tabloyu istediğim sekilde view olusturarak çözdum.
-
ercet00ilk
şöyle bir şey buldum, umarım işini görür dostum.
bunları sql içinde nerde uygularsan orada cevap alırsın.
-- TARİH FONKSİYONLARI : getdate(), year() , month(), day() , DateAdd() , datediff() , datepart() select GETDATE()--Şu an ki server saatini verir. select YEAR(GETDATE()) select YEAR('10.11.2001') select Month(GETDATE()) select Month('10.11.2001') select DAY(GETDATE()) select DAY('10.11.2001') select DATEADD(YEAR,3,GETDATE()) --şu anki tarihe 3 yıl ekler select DATEADD(MONTH,-5,GETDATE()) -- şu an ki tarihten 5 ay geri gider. select DATEDIFF(YEAR,'10.10.2000',GETDATE()) select DATEDIFF(month,'10.10.2012',GETDATE()) select DATEDIFF(day,'10.10.2000',GETDATE()) select DATEDIFF(HOUR,'10.10.2000',GETDATE()) select DATEDIFF(MINUTE,'10.10.2000',GETDATE()) -- iki tarih arasındaki farkı belittiğimiz aralıkta verir. select DATEPART(YEAR,GETDATE()) select DATEPART(month,GETDATE()) select DATEPART(day,GETDATE()) select DATEPART(DAYOFYEAR, GETDATE())--Yılın kaçıncı günü select DATEPART(DW,getdate())--Haftanın kaçıncı günü
10 yıl önce yazılmış
-