• Home
  • Contact

Kênh tư vấn

  • Beranda
  • Profil
  • Jurnal
    • 2000
    • 2001
    • 2002
      • 21 April
      • 22 April
      • 23 April
        • Senin
        • Selasa
        • Rabu
        • Kamis
      • 24 April
      • 25 April
    • 2003
    • 2004
  • Komentar
  • Kontak
Beranda » 1000 câu hỏi và trả lời » bài tập SQL » SQL Server » Tài liệu CNTT » Truy vấn SQL » Vì sao không nên dùng Hàm COUNT(DISTINCT)

Vì sao không nên dùng Hàm COUNT(DISTINCT)


Hàm COUNT(DISTINCT) rất hữu ích, tuy nhiên cũng khá tốn kém. Giống như COUNT(), nó lấy tất cả các phần tử, nhưng không dừng lại ở đó nó còn phải sắp xếp và đếm các phần tử không trùng lặp. Trong một số trường hợp bạn có thể tránh dùng hàm này mà vẫn đạt được mục đích. Ví dụ bạn cần tìm tất cả các khách hàng đã từng mua ít nhất hai loại sản phẩm khác nhau, câu lệnh dùng COUNT(DISTINCT) sẽ như thế này:

SELECT KhachHang_ID
FROM dbo.BanHang
GROUP BY KhachHang_ID
HAVING COUNT(DISTINCT SanPham_ID) > 1


Bạn có thể dùng cách khác, hiệu quả hơn, như sau:
SELECT KhachHang_ID
FROM dbo.BanHang
GROUP BY KhachHang_ID
HAVING MIN(SanPham_ID) < MAX(SanPham_ID)


Khi khách hàng mua hai loại sản phẩm khác nhau, SanPham_ID phải khác nhau, do đó MIN(SanPham_ID) phải khác với MAX(SanPham_ID). Và việc tìm ra MIN và MAX của SanPham_ID đơn giản hơn nhiều so với việc phải đếm tất cả các sản phẩm khác nhau.
Trích từ: http://kenhdaihoc.com/forum/showthread.php?t=3089


Theo: sqlviet.com
Unknown
Add Comment
1000 câu hỏi và trả lời, bài tập SQL, SQL Server, Tài liệu CNTT, Truy vấn SQL
Thứ Sáu, 6 tháng 4, 2012
Tweet
Vì sao không nên dùng Hàm COUNT(DISTINCT) Kênh tư vấn
Published: 2012-04-06T18:17:00-07:00
Title:Vì sao không nên dùng Hàm COUNT(DISTINCT)
Rating: 5 On 22 reviews

Related Articles

Không có nhận xét nào:

Đăng nhận xét

Newer Older Home

Entri Populer

  • Popular Posts
    Thêm,sửa,xóa,chấp nhận,hủy,thoát trong C# có CSDL
    ĐỀ BÀI Người ta muốn ứng dụng tin học để quản lý nhân sự của 1 doanh nghiệp. Là một lập trình viên, anh (chị) hãy thực hiện các yêu cầu sau ...
  • Popular Posts
    Bản quyền miễn phí Full Uninstall 2.10 trị giá $29,95
    Một vấn đề phổ biến chúng ta thường gặp phải khi gỡ bỏ phần mềm đó là sự tồn tại không cần thiết của các tập tin rác, các mục Registry,… Thậ...
  • Popular Posts
    Lazyload Jquery làm mượt ảnh và ảnh sẽ load nhanh hơn
    Giới thiệu:  Kéo tới đâu ảnh mới bắt đầu load tới đó, giảm thời gian tải ảnh. Mặc định blog khi load, sẽ load tất cả các ảnh và thành phần c...
  • Popular Posts
    Tổng hợp Thủ thuật blogspot
    Để Blog của bạn đẹp hơn và chuyên nghiệp hơn mình xin giới thiệu các bạn 1 kho theme  cũng như thủ thuật mà mình sưu tầm từ khắp nơi... các ...
  • Popular Posts
    Đáp án đề thi đại học môn Toán khối A1 năm 2012
    Đáp án đề thi Đại Học - Cao Đẳng năm 2012 đã được cập nhật nhanh nhất tại đây  Đáp án đề thi đại học môn Toán khối A1 năm 2012  Đáp án đề th...
  • Code chèn nền Flash (hoa rơi, tuyết rơi,…) cho blogspot
    Giới thiệu:  Với đoạn code này, blog bạn sẽ có thêm một lớp nền Flash phủ lên bề mặt blog, hoặc nằm ẩn dưới nền blog chính. Chức năng chủ yế...
  • Tổng hợp Thủ thuật máy tính
    Tất cã thủ thuật được tổng hợp và đăng tại đây Thủ thuật Win XP Thủ thuật Win 7 , 8 Thủ thuật Laptop
  • Popular Posts
    Tạo dáng cho trỏ chuột với hình ảnh bất kỳcho blogspot
    Giới thiệu: Hiệu ứng JavaScript này cho phép bạn tạo dáng cho con trỏ chuột trên trang web. Điểm đặc biệt của là nó cho phép bạn sử dụng hìn...
  • Hướng dẩn Tạo khung thông báo cho blog
    Giới thiệu:  Khi truy nhập vào blog, một hộp thoại thông báo sẽ xuất hiện. Có thể là thông báo về một sự kiện nào đó (ví dụ như chuyển domai...
  • Popular Posts
    Hot girl xinh đẹp nhất Sài thành
    Hotgirl Tâm Tít, hotgirl Midu, hotgirl Khả Ngân, hotgirl Sam, hotgirl Kelly là những hot girl xinh đẹp và tài năng trong làng showbiz wWw....
Copyright Mas Bintang | SJUTA IT