MySQL Eğitimi

MySQL ANA SAYFA MySQL Girişi MySQL RDBMS'si

MySQL SQL'i

MySQL SQL'i MySQL SEÇ MySQL NEREDE MySQL VE, VEYA, DEĞİL MySQL SİPARİŞ TARAFINDAN MySQL İNDİR MySQL BOŞ Değerler MySQL GÜNCELLEME MySQL SİL MySQL SINIR MySQL MIN ve MAX MySQL SAYISI, AVG, TOPLA MySQL GİBİ MySQL Joker Karakterleri MySQL İÇİ ARASINDA MySQL MySQL Takma Adları MySQL Katılımları MySQL İÇ BİRLEŞTİRME MySQL SOL BİRLEŞTİR MySQL DOĞRU BİRLEŞTİRME MySQL ÇAPRAZ BİRLEŞTİRME MySQL Kendi Kendine Katılma MySQL BİRLİĞİ MySQL GRUBU TARAFINDAN MySQL SAHİBİ MySQL MEVCUTTUR MySQL HERHANGİ BİR, TÜMÜ MySQL EKLE SEÇİMİ MySQL VAKA MySQL Boş İşlevler MySQL Yorumları MySQL Operatörleri

MySQL Veritabanı

MySQL Veritabanı Oluştur MySQL Bırakma Veritabanı MySQL Tablo Oluştur MySQL Bırakma Tablosu MySQL Değiştirme Tablosu MySQL Kısıtlamaları MySQL Boş Değil MySQL Benzersiz MySQL Birincil Anahtarı MySQL Yabancı Anahtarı MySQL Kontrolü MySQL Varsayılanı MySQL İndeks Oluştur MySQL Otomatik Artış MySQL Tarihleri MySQL Görünümleri

MySQL Referansları

MySQL Veri Türleri MySQL İşlevleri

MySQL Örnekleri

MySQL Örnekleri MySQL Testi MySQL Alıştırmaları

MySQL HAVING Cümlesi


MySQL HAVING Cümlesi

Anahtar sözcük toplama işlevleriyle kullanılamadığı HAVINGiçin yan tümce SQL'e eklendi .WHERE

HAVING sözdizimi

SELECT column_name(s)
FROM table_name
WHERE condition
GROUP BY column_name(s)
HAVING condition
ORDER BY column_name(s);

Demo Veritabanı

Aşağıda, Northwind örnek veritabanındaki "Müşteriler" tablosundan bir seçim bulunmaktadır:

CustomerID CustomerName ContactName Address City PostalCode Country
1

Alfreds Futterkiste Maria Anders Obere Str. 57 Berlin 12209 Germany
2 Ana Trujillo Emparedados y helados Ana Trujillo Avda. de la Constitución 2222 México D.F. 05021 Mexico
3 Antonio Moreno Taquería Antonio Moreno Mataderos 2312 México D.F. 05023 Mexico
4

Around the Horn Thomas Hardy 120 Hanover Sq. London WA1 1DP UK
5 Berglunds snabbköp Christina Berglund Berguvsvägen 8 Luleå S-958 22 Sweden

MySQL HAVING Örnekleri

Aşağıdaki SQL ifadesi, her ülkedeki müşteri sayısını listeler. Yalnızca 5'ten fazla müşterisi olan ülkeleri dahil edin:

Örnek

SELECT COUNT(CustomerID), Country
FROM Customers
GROUP BY Country
HAVING COUNT(CustomerID) > 5;

Aşağıdaki SQL deyimi, her ülkedeki müşteri sayısını yüksekten düşüğe sıralayarak listeler (Yalnızca 5'ten fazla müşterisi olan ülkeleri içerir):

Örnek

SELECT COUNT(CustomerID), Country
FROM Customers
GROUP BY Country
HAVING COUNT(CustomerID) > 5
ORDER BY COUNT(CustomerID) DESC;


Demo Veritabanı

Northwind örnek veritabanındaki "Siparişler" tablosundan bir seçim aşağıdadır:

OrderID CustomerID EmployeeID OrderDate ShipperID
10248 90 5 1996-07-04 3
10249 81 6 1996-07-05 1
10250 34 4 1996-07-08 2

Ve "Çalışanlar" tablosundan bir seçim:

EmployeeID LastName FirstName BirthDate Photo Notes
1 Davolio Nancy 1968-12-08 EmpID1.pic Education includes a BA....
2 Fuller Andrew 1952-02-19 EmpID2.pic Andrew received his BTS....
3 Leverling Janet 1963-08-30 EmpID3.pic Janet has a BS degree....

Daha Fazla SAHNE Örneği

Aşağıdaki SQL deyimi, 10'dan fazla sipariş kaydeden çalışanları listeler:

Örnek

SELECT Employees.LastName, COUNT(Orders.OrderID) AS NumberOfOrders
FROM (Orders
INNER JOIN Employees ON Orders.EmployeeID = Employees.EmployeeID)
GROUP BY LastName
HAVING COUNT(Orders.OrderID) > 10;

Aşağıdaki SQL deyimi, "Davolio" veya "Fuller" çalışanlarının 25'ten fazla sipariş kaydettirip kaydetmediğini listeler:

Örnek

SELECT Employees.LastName, COUNT(Orders.OrderID) AS NumberOfOrders
FROM Orders
INNER JOIN Employees ON Orders.EmployeeID = Employees.EmployeeID
WHERE LastName = 'Davolio' OR LastName = 'Fuller'
GROUP BY LastName
HAVING COUNT(Orders.OrderID) > 25;