SQLite
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> SQLite

SQLite có

Tóm tắt :trong hướng dẫn này, bạn sẽ học cách sử dụng SQLite HAVING để chỉ định điều kiện lọc cho một nhóm hoặc một tổng hợp.

Giới thiệu về SQLite HAVING mệnh đề

SQLite HAVING mệnh đề là một mệnh đề tùy chọn của SELECT tuyên bố. HAVING mệnh đề chỉ định điều kiện tìm kiếm cho một nhóm.

Bạn thường sử dụng HAVING mệnh đề với GROUP BY mệnh đề. GROUP BY mệnh đề nhóm một tập hợp các hàng thành một tập hợp các hàng hoặc nhóm tóm tắt. Sau đó, HAVING mệnh đề lọc các nhóm dựa trên một điều kiện cụ thể.

Nếu bạn sử dụng HAVING , bạn phải bao gồm GROUP BY mệnh đề; nếu không, bạn sẽ gặp lỗi sau:

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

Lưu ý rằng HAVING mệnh đề được áp dụng sau GROUP BY mệnh đề, trong khi WHERE mệnh đề được áp dụng trước GROUP BY mệnh đề.

Phần sau minh họa cú pháp của HAVING mệnh đề:

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)

Trong cú pháp này, HAVING mệnh đề đánh giá search_condition cho mỗi nhóm dưới dạng biểu thức Boolean. Nó chỉ bao gồm một nhóm trong tập hợp kết quả cuối cùng nếu đánh giá là đúng.

SQLite HAVING ví dụ mệnh đề

Chúng tôi sẽ sử dụng tracks trong cơ sở dữ liệu mẫu để trình diễn.

Để tìm số lượng bản nhạc cho mỗi album, bạn sử dụng GROUP BY mệnh đề như sau:

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

Hãy thử nó

Để tìm số lượng bản nhạc cho album có id 1, chúng tôi thêm HAVING mệnh đề cho câu lệnh sau:

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

Hãy thử nó

Chúng tôi đã tham khảo AlbumId trong cột HAVING mệnh đề.

Để tìm các album có số lượng bản nhạc từ 18 đến 20, bạn sử dụng hàm tổng hợp trong HAVING mệnh đề như thể hiện trong câu lệnh sau:

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)

Hãy thử nó

SQLite HAVING mệnh đề với INNER JOIN ví dụ

Câu lệnh sau truy vấn dữ liệu từ tracksalbums các bảng sử dụng liên kết bên trong để tìm các anbom có ​​tổng thời lượng lớn hơn 60.000.000 mili giây.

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)

Hãy thử nó

Trong hướng dẫn này, bạn đã học cách sử dụng SQLite HAVING để chỉ định điều kiện tìm kiếm cho các nhóm.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Tự động tạo khóa tổng hợp trong SQLite

  2. Hướng dẫn SQLite:Mọi thứ bạn cần biết

  3. Cách Coalesce () hoạt động trong SQLite

  4. Android:Cách tải hình ảnh động từ máy chủ theo tên của nó từ SQlite

  5. Cách xóa các mục khỏi cơ sở dữ liệu sqlite với lớp SQLiteOpenHelper