Konuyu Oyla:
  • Derecelendirme: 5/5 - 1 oy
  • 1
  • 2
  • 3
  • 4
  • 5
MS SQL 2008 r2 ile Extract Kullanımı
#1
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.
Bizde bilirdik firavunun yanında olmayı, musa'nın haklı olduğunu bilmeseydik
Cevapla
#2
(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
WWW
Cevapla
#3
yıl kısmını group by ile alıp borç kısmını sum edin.

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.


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.

SELECT YEAR(TARIH) as YIL
, SUM(BORC) as TOPLAMBORC
  FROM carihrkt
  GROUP BY YEAR(TARIH)

şeklinde bir deneyin
Saygılarımla
Muharrem ARMAN

guplouajuixjzfm15eqb.gif
Cevapla
#4
(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
Bizde bilirdik firavunun yanında olmayı, musa'nın haklı olduğunu bilmeseydik
Cevapla
#5
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)
Cevapla
#6
Olabilir valla bana direkt programın içinden sql kodu verdikleri için kesin konuşamıyorum.

Edit: Paradox sorgusuymuş.
Bizde bilirdik firavunun yanında olmayı, musa'nın haklı olduğunu bilmeseydik
Cevapla


Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Son Yorum
  Sql server 2008 R2 veya Yukarısı için Database Kopyalaması Hk. cinarbil 6 3.448 15-09-2020, Saat: 09:14
Son Yorum: DelphiCan
  İç İçe Cursor Kullanımı Bay_Y 2 2.909 11-03-2020, Saat: 16:20
Son Yorum: Bay_Y
  Sql Insert Into parametre kullanımı hk. cinarbil 7 5.793 01-03-2019, Saat: 17:47
Son Yorum: cinarbil
  Where koşulunda özel işaret kullanımı hakkında adelphiforumz 29 20.101 03-01-2019, Saat: 10:17
Son Yorum: sabanakman
  SQL üzerinde Pivot içindeki in Kullanımı hakkında adelphiforumz 10 8.045 19-03-2018, Saat: 21:38
Son Yorum: FiRewaLL



Konuyu Okuyanlar: 1 Ziyaretçi