• 30-07-2019, 09:43:13
    #1
    Okul Adı | Öğrenci Adı | Matematik Notu | Türkçe Notu | Fen Notu
    A okulu | ahmet | 10 | 20 |50
    A okulu | mehmet | 5 | 80 | 100
    A okulu | veli | 80 | 20 | 50
    A okulu | aslı | 30 | 90 | 0
    A okulu | ece | 20 | 30 | 40
    A okulu | murat | 45 | 25 | 85

    bu şekilde bir veritabanım var diyelim. Ben burada A okulunda matematik dersinden 0 - 40 arasında , 40 -60 arasında ve 60-100 arasında not alan öğrenci sayılarını yan yana yazdırmak istiyorum.

    yani sonuç şöyle olacak

    Okul Adı | 0- 40 arasında alanlar | 40 -60 arasında alanlar | 60-100 arasında alanlar
    A okulu | 4 | 1 | 1

    bu şekilde sonuç verecek sorguyu nasıl yazabilirim?
  • 30-07-2019, 10:08:24
    #2
    Mssql de bu şekilde kullanılabiliyor.

    SELECT
    sum(case when Matematik_Notu between 0 and 40 then 1 else 0 end),
    sum(case when Matematik_Notu between 40 and 60 then 1 else 0 end),
    sum(case when Matematik_Notu between 60 and 100 then 1 else 0 end)
    FROM TABLOM
    WHERE Okul_Adı='A okulu'
  • 30-07-2019, 11:02:11
    #3
    Karaman adlı üyeden alıntı: mesajı görüntüle
    Okul Adı | Öğrenci Adı | Matematik Notu | Türkçe Notu | Fen Notu
    A okulu | ahmet | 10 | 20 |50
    A okulu | mehmet | 5 | 80 | 100
    A okulu | veli | 80 | 20 | 50
    A okulu | aslı | 30 | 90 | 0
    A okulu | ece | 20 | 30 | 40
    A okulu | murat | 45 | 25 | 85

    bu şekilde bir veritabanım var diyelim. Ben burada A okulunda matematik dersinden 0 - 40 arasında , 40 -60 arasında ve 60-100 arasında not alan öğrenci sayılarını yan yana yazdırmak istiyorum.

    yani sonuç şöyle olacak

    Okul Adı | 0- 40 arasında alanlar | 40 -60 arasında alanlar | 60-100 arasında alanlar
    A okulu | 4 | 1 | 1

    bu şekilde sonuç verecek sorguyu nasıl yazabilirim?
    Çıktısı bu şekilde mi olacak yoksa veritabanına bu şekilde kaydetmek mi istiyorsun.
  • 30-07-2019, 16:47:14
    #4
    rshcoosl adlı üyeden alıntı: mesajı görüntüle
    Mssql de bu şekilde kullanılabiliyor.

    SELECT
    sum(case when Matematik_Notu between 0 and 40 then 1 else 0 end),
    sum(case when Matematik_Notu between 40 and 60 then 1 else 0 end),
    sum(case when Matematik_Notu between 60 and 100 then 1 else 0 end)
    FROM TABLOM
    WHERE Okul_Adı='A okulu'
    Allah razı olsun tam aradığım cevap, sorun çözüldü.