MySQL SQL Functions- Sql de kullanılan fonksiyonlar
DISTINCT : Benzer kayitlardan birer tanesini ve tek olanları getirir, Numune alır gibi düşünülebilir.
COUNT(*): Kayitlari saymaya yarar
COUNT(DISTINCT alanAdi) : Çesitlerin sayisini verir, Numunelerin sayısı
SUM(alanAdi): verilen alan adina ait verileri toplar(sayısal alan)
AVG(alanAdi): verilen alanın aritmetik ort. verir (sayısal alan)
Örnek: Tablodaki tüm soyadlarını görelim
MariaDB [obs]> select soyadi from ogrenci; +-----------+ | soyadi | +-----------+ | Demir | | Demircan | | Demircan | | Demirel | | Güneş | | Sulupınar | +-----------+ 6 rows in set (0.027 sec)
Distinct
Örnek: Benzerlerden bir tanesi ve tek olanları getirmek için
MariaDB [obs]> select distinct soyadi from ogrenci; +-----------+ | soyadi | +-----------+ | Demir | | Demircan | | Demirel | | Güneş | | Sulupınar | +-----------+ 5 rows in set (0.000 sec)
Dikkat edilirse iki tane Demircan dan bir tane Demircan geldi.
count(distinct …)
Peki 5 farklı soyadı varmış, bunu fonksiyonla nasıl alırız. Burada Distinct soyadi’ndan dönenlerin sayısı anlamındadır.
MariaDB [obs]> select count(distinct soyadi) from ogrenci; +------------------------+ | count(distinct soyadi) | +------------------------+ | 5 | +------------------------+ 1 row in set (0.001 sec)
Count(*)
Sorgudan dönen kayıtların sayısını bulmak için kullanılır. * yerine başka bir şey yazmak aynı anlama gelecektir.
count(adi) ile count(*) aynı anlama gelir, anal belirtmek sonucu değiştirmez.
Örnek: Toplam kayıt sayısı nedir ?
MariaDB [obs]> select count(*) from ogrenci; +----------+ | count(*) | +----------+ | 6 | +----------+ 1 row in set (0.001 sec)
Örnek: numarası 53 ile başlayan kaç kayıt vardır
MariaDB [obs]> select count(*) from ogrenci where mobil like '53%'; +----------+ | count(*) | +----------+ | 3 | +----------+ 1 row in set (0.001 sec)
Örnek: Soyadi içinde e harfi olanların sayısını
MariaDB [obs]> select count(*) from ogrenci where soyadi like '%e%'; +----------+ | count(*) | +----------+ | 5 | +----------+ 1 row in set (0.000 sec)
Örnek: kaç farklı harfle başlayan isim vardır gösteriniz.
MariaDB [obs]> select distinct left(soyadi,1) from ogrenci; +----------------+ | left(soyadi,1) | +----------------+ | D | | G | | S | +----------------+ 3 rows in set (0.000 sec)
sayısını görmek için ise
MariaDB [obs]> select count(distinct left(soyadi,1)) from ogrenci; +--------------------------------+ | count(distinct left(soyadi,1)) | +--------------------------------+ | 3 | +--------------------------------+ 1 row in set (0.001 sec)