SQLite
 sql >> Teknologi Basis Data >  >> RDS >> SQLite

SQLite Memiliki

Ringkasan :dalam tutorial ini, Anda akan mempelajari cara menggunakan SQLite HAVING klausa untuk menentukan kondisi filter untuk grup atau agregat.

Pengantar SQLite HAVING klausa

SQLite HAVING klausa adalah klausa opsional dari SELECT penyataan. HAVING klausa menentukan kondisi pencarian untuk grup.

Anda sering menggunakan HAVING klausa dengan GROUP BY ayat. GROUP BY klausa mengelompokkan sekumpulan baris ke dalam kumpulan baris atau grup ringkasan. Kemudian HAVING klausa memfilter grup berdasarkan kondisi tertentu.

Jika Anda menggunakan HAVING klausa, Anda harus menyertakan GROUP BY ayat; jika tidak, Anda akan mendapatkan kesalahan berikut:

Error: a GROUP BY clause is required before HAVINGCode language: JavaScript (javascript)

Perhatikan bahwa HAVING klausa diterapkan setelah GROUP BY klausa, sedangkan WHERE klausa diterapkan sebelum GROUP BY klausa.

Berikut ini mengilustrasikan sintaks HAVING klausa:

SELECT
	column_1, 
        column_2,
	aggregate_function (column_3)
FROM
	table
GROUP BY
	column_1,
        column_2
HAVING
	search_condition;Code language: SQL (Structured Query Language) (sql)

Dalam sintaks ini, HAVING klausa mengevaluasi search_condition untuk setiap grup sebagai ekspresi Boolean. Ini hanya menyertakan grup dalam hasil akhir yang ditetapkan jika evaluasinya benar.

SQLite HAVING contoh klausa

Kami akan menggunakan tracks tabel dalam database sampel untuk demonstrasi.

Untuk menemukan jumlah trek untuk setiap album, gunakan GROUP BY klausa sebagai berikut:

SELECT
	albumid,
	COUNT(trackid)
FROM
	tracks
GROUP BY
	albumid;Code language: SQL (Structured Query Language) (sql)

Cobalah

Untuk menemukan jumlah trek untuk album dengan id 1, kami menambahkan HAVING klausa untuk pernyataan berikut:

SELECT
	albumid,
	COUNT(trackid)
FROM
	tracks
GROUP BY
	albumid
HAVING albumid = 1;

Cobalah

Kami telah merujuk ke AlbumId kolom di HAVING klausa.

Untuk menemukan album yang memiliki jumlah trek antara 18 dan 20, Anda menggunakan fungsi agregat di HAVING klausa seperti yang ditunjukkan dalam pernyataan berikut:

SELECT
   albumid,
   COUNT(trackid)
FROM
   tracks
GROUP BY
   albumid
HAVING 
   COUNT(albumid) BETWEEN 18 AND 20
ORDER BY albumid;Code language: SQL (Structured Query Language) (sql)

Cobalah

SQLite HAVING klausa dengan INNER JOIN contoh

Pernyataan berikut menanyakan data dari tracks dan albums tabel menggunakan gabungan dalam untuk menemukan album yang memiliki panjang total lebih dari 60.000.000 milidetik.

SELECT
	tracks.AlbumId,
	title,
	SUM(Milliseconds) AS length
FROM
	tracks
INNER JOIN albums ON albums.AlbumId = tracks.AlbumId
GROUP BY
	tracks.AlbumId 
HAVING
	length > 60000000;Code language: SQL (Structured Query Language) (sql)

Cobalah

Dalam tutorial ini, Anda telah mempelajari cara menggunakan SQLite HAVING klausa untuk menentukan kondisi pencarian untuk grup.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Bagaimana Fungsi Strftime() Bekerja di SQLite

  2. Apakah kinerja SQLite akan menurun jika ukuran database lebih besar dari 2 gigabyte?

  3. Bagaimana cara mengimplementasikan database SQLite untuk menyimpan Gambar dan Teks Bitmap?

  4. Bagaimana saya bisa menulis vals SQLite Real ke nilai Java BigDecimal?

  5. Cara memfilter dalam hubungan satu ke banyak dengan kamar android db