Delphi Can

Orjinalini görmek için tıklayınız: MS SQL 2008 r2 ile Extract Kullanımı
Şu anda (Arşiv) modunu görüntülemektesiniz. Orjinal Sürümü Görüntüle internal link
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 Smile . 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ş.