SELECT EXTRACT(YEAR FROM TARIH),BORC FROM carihrkt
YIL BORC
2008 600
2008 300
2009 1000
2009 752
2018 560
2018 380
Kolay gelsin yukarıdaki ham verileri aşağıdaki şekildeki gibi nasıl listeleyebilirim (mssql 2008 r2)
YIL BORC
2008 900
2009 1752
2018 940
NOT : extract where de kullanılabiliyor ama group by da kullanamadım.
(30-11-2018, Saat: 17:11)enes6635 Adlı Kullanıcıdan Alıntı: [ -> ]SELECT EXTRACT(YEAR FROM TARIH),BORC FROM carihrkt
YIL BORC
2008 600
2008 300
2009 1000
2009 752
2018 560
2018 380
Kolay gelsin yukarıdaki ham verileri aşağıdaki şekildeki gibi nasıl listeleyebilirim (mssql 2008 r2)
YIL BORC
2008 900
2009 1752
2018 940
NOT : extract where de kullanılabiliyor ama group by da kullanamadım.
Birincisi MS SQL Server'da EXTRACT isimli bir fonksiyon olduğuna emin misiniz? Belki de MySQL kullanıyorsunuz.
İkincisi iç içe select kullanarak bunu rahatlıkla yapabilirsiniz.
SELECT
TBL1.YIL,
SUM (TBL1.BORC) AS BORC
FROM
(
SELECT
EXTRACT(YEAR FROM TARIH) AS YIL,
BORC
FROM
carihrkt
) AS TBL1
GROUP BY
TBL1.YIL
yıl kısmını group by ile alıp borç kısmını sum edin.
Kod:
SELECT YIL,
SUM (BORC) AS TOPLAMBORC
FROM tabloadiniz
GROUP BY YIL
EDIT : Mesajınız gereği, YIL kısmını nasıl alacağınızı sormuşsunuz aslında... Hızlı karar vermişim.
DATEPART(YEAR, TARIH) işinizi görecektir.
Sonuçta SELECT satırınız aşağıdaki gibi olacak.
Kod:
SELECT DATEPART(YEAR, TARIH) as YIL
, SUM(BORC) as TOPLAMBORC
FROM carihrkt
GROUP BY DATEPART(YEAR, TARIH)
BU içerik MSSQL içindir.
MySQL için ise
bu linkten tüm DATE TIME fonksiyonlarını inceleyebilirsiniz.
Kod:
SELECT YEAR(TARIH) as YIL
, SUM(BORC) as TOPLAMBORC
FROM carihrkt
GROUP BY YEAR(TARIH)
şeklinde bir deneyin
(30-11-2018, Saat: 17:23)csunguray Adlı Kullanıcıdan Alıntı: [ -> ]Birincisi MS SQL Server'da EXTRACT isimli bir fonksiyon olduğuna emin misiniz? Belki de MySQL kullanıyorsunuz.
Hocam şirketin sistemleri 2008 r2 ile çalışıyor ama extract'ı where de kullanınca çalışıyor.
select extract(YEAR from TARIH), BORC
from carihrkt
where extract(YEAR from TARIH)=2018
Belki SQL Server değildir o. Bendeki (yüklü 2008r2 ve 2017 sql lerinde) Tarih alanlarında hata aldım
. SQL Server üzerinde Year fonksiyonunu bu amaçla (yukarıda @
mrmarman ın da yazdığı şekilde) kullanabilirsiniz.
SELECT YEAR(TARIH), sum(BORC) FROM carihrkt
group by YEAR(TARIH)
Olabilir valla bana direkt programın içinden sql kodu verdikleri için kesin konuşamıyorum.
Edit: Paradox sorgusuymuş.