Sự khác biệt giữa đếm và đếm trong Laravel là gì?

COUNT là một hàm tổng hợp đơn giản nhưng rất hiệu quả và được sử dụng rộng rãi. Nói một cách rất đơn giản, nó được sử dụng để ĐẾM số lượng hàng đối với truy vấn và tiêu chí CHỌN đã cho

Hướng dẫn này sẽ giải thích cú pháp và cách sử dụng hàm COUNT đơn giản, COUNT với điều kiện, COUNT với DISTINCT, COUNT với GROUP BY, v.v.

=> Nhấp vào đây để xem toàn bộ loạt bài hướng dẫn về MySQL

Bạn sẽ học được gì

    • [hình ảnh mới[]]. src = 'https. // capi. connatix. com/tr/si?token=d493855a-0d62-46c8-8552-26549ded5489&cid=f8a5d881-907e-47b5-a4f5-6980d40520cc'; . cmd. đẩy [chức năng [] { cnx [{ playerId. "d493855a-0d62-46c8-8552-26549ded5489" }]. kết xuất["f1b665d743fc45cbac4851003ee8cd11"];
  • Nhiều loại MySQL COUNT
    • MySQL COUNT ví dụ
      • ĐẾM đơn giản
      • ĐẾM CÓ ĐIỀU KIỆN
      • ĐẾM Với DISTINCT
      • ĐẾM VỚI NHÓM THEO
      • ĐẾM Với NẾU
      • ĐẾM Với THAM GIA
    • Mẹo & Thủ thuật
    • Các câu hỏi thường gặp
  • Sự kết luận
    • đề xuất đọc

Nhiều loại MySQL COUNT

TypeDescriptionSyntaxCOUNT[*]COUNT[*] hàm trả về số không. trong số các hàng được câu lệnh SELECT truy xuất bao gồm các hàng chứa giá trị NULL và Giá trị trùng lặp SELECT COUNT[*] FROM {tableName}COUNT[Expression]COUNT[expression] sẽ đếm giá trị trong đó biểu thức không phải là null.
Biểu thức có thể đơn giản như tên cột hoặc một biểu thức phức tạp chẳng hạn như Hàm IF. SELECT COUNT[Biểu thức] từ {tableName}COUNT[Biểu thức DISTINCT]COUNT[Biểu thức DISTINCT] - Từ khóa DISTINCT sẽ dẫn đến việc chỉ đếm các giá trị khác null duy nhất đối với biểu thức.
Ví dụ - COUNT[DISTINCT customerName] - sẽ chỉ tính các hàng có giá trị riêng biệt cho tên khách hàngSELECT COUNT[DISTINCT expression] từ {tableName}

MySQL COUNT ví dụ

Dữ liệu thử nghiệm

Chúng tôi sẽ sử dụng các bảng và dữ liệu sau đây cho các ví dụ về hàm MySQL COUNT

Những cái bàn

#1] Sản_phẩm_Chi_tiết

Lưu trữ thông tin chi tiết của các sản phẩm khác nhau trong một cửa hàng

  • product_id – INT
  • tên_sản_phẩm – VARCHAR
  • giá – DECIMAL
  • category_id – INT [FOREIGN KEY – id từ bảng Category_Details]

#2] Danh mục_Chi tiết

  • Thể loại ID. INT
  • tên danh mục. VARCHAR

Hãy tạo các bảng và chèn dữ liệu giả bằng các truy vấn bên dưới

CREATE TABLE `product_details` [
  `product_id` int NOT NULL,
  `product_name` varchar[100],
  `price` decimal[5,2],
  `category_id` int,
  FOREIGN KEY [category_id] REFERENCES category_details[category_id],
  PRIMARY KEY[product_id]
]

CREATE TABLE `category_details` [
  `category_id` int NOT NULL,
  `category_name` varchar[100],
  PRIMARY KEY[category_id]
]

INSERT INTO `category_details` [`category_id`,`category_name`] VALUES 
[1,'FMCG'],[2,'FURNITURE'],[3,'FASHION'],[4,'APPLIANCES'],[5,'ELECTRONICS'];

INSERT INTO `product_details`
 [`product_id`,`product_name`,`price`,`category_id`] VALUES
 [1,'Biscuits',0.5,1],[2,'Chocolates',1,1], [3, 'Washing Powder',5,1],[4,
 'Apple IPhone', 500,5], 
[5, 'Batteries',2,5],[6,'Floor cleaner',2.5,1],[7,'Jeans-
Levis',100,1],[8,'Mixer grinder',50,4],[9,'Capsicum',2,1],[10,'Sugar',1,1],[11,'Study Table',50,2];

Vui lòng tham khảo hình ảnh của các bảng với dữ liệu thử nghiệm như được tạo ở trên

Bảng chi tiết sản phẩm

Danh mục_Bảng chi tiết

ĐẾM đơn giản

Trong phần này, chúng ta sẽ tìm hiểu hàm COUNT một cách đơn giản nhất

Chúng tôi sẽ sử dụng COUNT để trả về số hàng mà không cần kiểm tra NULL hoặc DISTINCT

SELECT COUNT[*] FROM product_details;

đầu ra

ĐẾM[*]11

Với truy vấn trên, chúng ta sẽ chỉ nhận được số lượng hàng được trả về so với câu lệnh chọn

ĐẾM CÓ ĐIỀU KIỆN

Bây giờ chúng ta sẽ sử dụng hàm COUNT với điều kiện hoặc giá trị cột

Thí dụ. Giả sử chúng ta muốn đếm số không. của các hàng không có giá trị khác null cho tên sản phẩm

Chúng ta có thể thêm product_name [hoặc bất kỳ tên cột cụ thể nào] làm biểu thức trong hàm COUNT, sau đó sẽ dẫn đến một số hàng có các hàng product_name NON NULL

SELECT COUNT[product_name] FROM product_details;

Trong trường hợp này, đầu ra sẽ là 11 [vì tất cả dữ liệu thử nghiệm đã có giá trị cho cột product_name]

đầu ra

ĐẾM[tên_sản_phẩm]11

Hãy thêm một hàng mới, với giá trị NULL cho product_name

INSERT INTO `product_details` [`product_id`,`product_name`,`price`,`category_id`] VALUES [12,NULL,0.5,1];
SELECT COUNT[product_name] from product_details;

Truy vấn COUNT ở trên sẽ trả về số lượng tất cả các hàng có NON NULL product_name

Vì chúng tôi đã chèn một hàng có NULL product_name, điều đó sẽ không được trả về trong kết quả. Vì vậy, đầu ra sẽ vẫn là 11 hàng

đầu ra

ĐẾM[tên_sản_phẩm]11

ĐẾM Với DISTINCT

Trong các ví dụ trước, chúng ta đã sử dụng hàm COUNT với biểu thức. Chúng ta cũng có thể kết hợp biểu thức với lệnh DISTINCT để nhận tất cả các giá trị KHÔNG NULL, cũng là ĐỘC ĐÁO

Hãy thử lấy DISTINCT category_id từ bảng product_details

SELECT COUNT[DISTINCT category_id] from product_details;

đầu ra

COUNT[DISTINCT danh mục_id]4

Như bạn có thể thấy ở trên - đầu ra là 4, đại diện cho tổng số không. của category_id trong bảng product_details

ĐẾM VỚI NHÓM THEO

Hãy xem một ví dụ mà chúng tôi muốn sử dụng COUNT cùng với GROUP BY. Đây là một sự kết hợp quan trọng trong đó chúng tôi có thể nhận được COUNT đối với cột được nhóm và phân tích dữ liệu tùy thuộc vào các giá trị khác nhau của cột được nhóm mục tiêu

Ví dụ. tìm không. của các sản phẩm đối với từng danh mục từ bảng product_details

SELECT category_id, COUNT[*] FROM product_details GROUP BY category_id;

danh mục_idCOUNT[*]17214152

Như chúng ta có thể thấy ở trên, đối với mỗi danh mục_id, cột COUNT[*] đại diện cho số lượng hàng thuộc mỗi danh mục_id

ĐẾM Với NẾU

Hãy xem một ví dụ về cách sử dụng điều kiện IF bên trong hàm COUNT. Chúng ta có thể đặt một biểu thức IF bên trong hàm COUNT và đặt giá trị thành NULL cho điều kiện sai và mọi giá trị khác null cho điều kiện đúng

Mọi giá trị NON NULL sẽ được tính là một hàng w. r. chức năng đếm

Ví dụ. Sử dụng hàm COUNT để tìm tất cả các sản phẩm trong phạm vi giá 20$

SELECT COUNT[IF[price >0 AND price<20, 1, NULL]] AS count_less_than_20 FROM product_details;

đầu ra

đếm_less_than_207

Trong truy vấn trên, chúng tôi đã nhận được COUNT của tất cả các sản phẩm có phạm vi giá nằm trong khoảng từ 0 đến 20. Đối với điều kiện FALSE, chúng tôi đã đặt giá trị thành NULL, giá trị này không được tính khi hàng được ước tính cho các giá trị cột khác nhau

ĐẾM Với THAM GIA

COUNT cũng có thể được sử dụng với các câu lệnh THAM GIA. Vì COUNT áp dụng cho không. của các hàng, nó có thể được sử dụng với bất kỳ tổ hợp truy vấn nào hoạt động trên một bảng hoặc nhiều bảng bằng cách sử dụng THAM GIA

Thí dụ. Tham gia cả bảng product_details và category_details và tìm số đếm theo tên_danh mục từ bảng product_details

________số 8

đầu ra

danh mục_tênĐẾM[tên_danh mục]Hàng tiêu dùng nhanh7NỘI THẤT1ỨNG DỤNG1ĐIỆN TỬ2

Mẹo & Thủ thuật

Sử dụng bí danh Cột cho cột hiển thị kết quả của hàm COUNT. Chúng ta có thể sử dụng bí danh Cột cùng với hàm COUNT để đặt tên cột do người dùng xác định cho cột hiển thị kết quả của hàm COUNT

Ví dụ. Giả sử chúng ta muốn đếm số lượng danh mục trong bảng category_details và đặt tên cho cột kết quả là danh mục_count, chúng ta có thể sử dụng truy vấn bên dưới

SELECT COUNT[*] as category_count from category_details;

đầu ra

danh mục_count5

Các câu hỏi thường gặp

Q #1] Làm cách nào để sử dụng hàm COUNT trong MySQL?

Câu trả lời. Hàm COUNT là một hàm tổng hợp có thể được sử dụng theo 3 cách

  • ĐẾM[*] – Điều này sẽ ĐẾM tất cả các hàng được trả về bởi SELECT QUERY
  • COUNT[biểu thức] – Điều này sẽ COUNT tất cả các giá trị KHÔNG NULL cho biểu thức
  • COUNT [biểu thức DISTINCT] – Điều này sẽ COUNT tất cả các giá trị KHÔNG NULL và ĐỘC ĐÁO đối với biểu thức

Q #2] Sự khác biệt giữa Đếm [*] và Đếm [1] trong SQL là gì?

Câu trả lời. Cả hai tuyên bố hành xử theo một cách giống hệt nhau. Từ định nghĩa COUNT của MySQL, mọi thứ trong ngoặc đơn [] đều là một biểu thức - và mọi giá trị NON NULL sẽ được tính là 1

Vì vậy, trong trường hợp này, cả * và 1 đều được coi là KHÔNG NULL và trả về kết quả tương tự i. e. kết quả của cả hai truy vấn bên dưới sẽ giống nhau

SELECT COUNT[*] FROM product_details;
0

Sự kết luận

Trong hướng dẫn này, chúng ta đã tìm hiểu về hàm COUNT và các biến thể khác nhau do MySQL cung cấp

Chúng ta cũng đã thấy cách chúng ta có thể sử dụng COUNT với các tình huống khác nhau, chẳng hạn như kết hợp COUNT với GROUP BY và viết hàm IF bên trong hàm COUNT

Hàm COUNT là một trong những hàm quan trọng và được sử dụng rộng rãi nhất trong MySQL và phần lớn được sử dụng để tổng hợp dữ liệu tùy thuộc vào các điều kiện được chỉ định cho một hoặc nhiều bảng

Làm thế nào để đếm một bộ sưu tập trong laravel?

$coll = Người dùng. tất cả các[];

Làm cách nào để chuyển đổi bộ sưu tập thành mảng trong laravel?

Bạn có thể sử dụng toArray[] của eloquent như bên dưới. Từ Tài liệu Laravel. toArray cũng chuyển đổi tất cả các đối tượng lồng nhau của bộ sưu tập là một thể hiện của Arrayable thành một mảng. Nếu bạn muốn lấy mảng thô bên dưới, hãy sử dụng phương thức all thay thế.

Bộ sưu tập trong laravel là gì?

Bộ sưu tập Laravel là một tính năng hữu ích của Laravel framework. Một bộ sưu tập hoạt động giống như một mảng PHP, nhưng thuận tiện hơn. Lớp bộ sưu tập nằm ở vị trí Illuminate\Support\Collection. Một bộ sưu tập cho phép bạn tạo một chuỗi các phương thức để ánh xạ hoặc rút gọn các mảng .

Làm cách nào để kiểm tra xem bộ sưu tập laravel có trống không?

Sử dụng phương thức isNotEmpty[]. Phương thức isNotEmpty[] trả về true nếu bộ sưu tập được kiểm tra không trống và sai nếu trống. .
Sử dụng phương thức đếm[]. Phương thức count[] trả về số lượng mục bên trong bộ sưu tập. .
Sử dụng Phương thức[] đầu tiên. .
Sử dụng phương thức đếm[]

Chủ Đề