Sqlserver
 sql >> Teknologi Basis Data >  >> RDS >> Sqlserver

Hasil Kueri yang lebih tinggi dengan Kata Kunci DISTINCT?

Secara teknis ini bukan jawaban, tetapi karena saya meluangkan waktu untuk menganalisis ini, sebaiknya saya mempostingnya (walaupun saya memiliki risiko untuk tidak dipilih).

Tidak mungkin saya dapat mereproduksi perilaku yang dijelaskan.

Ini skenarionya:

declare @table table ([user id] int)

insert into @table values 
(1),(1),(1),(1),(1),(1),(1),(2),(2),(2),(2),(2),(2),(null),(null)

Dan berikut adalah beberapa pertanyaan dan hasilnya:

SELECT COUNT(User ID) FROM @table --error: this does not run
SELECT COUNT(dsitinct User ID) FROM @table --error: this does not run
SELECT COUNT([User ID]) FROM @table --result: 13 (nulls not counted)
SELECT COUNT(distinct [User ID]) FROM @table --result: 2 (nulls not counted)

Dan sesuatu yang menarik:

SELECT user --result: 'dbo' in my sandbox DB
SELECT count(user) from @table --result: 15 (nulls are counted because user value
                                             is not null)
SELECT count(distinct user) from @table --result: 1 (user is the same  
                                                     value always)

Saya merasa sangat aneh bahwa Anda dapat menjalankan kueri persis seperti yang Anda jelaskan. Anda harus memberi tahu kami struktur tabel dan datanya untuk mendapatkan bantuan lebih lanjut.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Pembulatan milidetik dalam T-SQL

  2. Bagaimana cara mempertahankan kolom GEOMETRI atau GEOGRAFI yang dihitung

  3. Ketika kita pergi untuk menerapkan silang dan ketika kita pergi untuk bergabung dalam SQL Server 2012

  4. Contoh Mengonversi 'tanggal' menjadi 'waktu-waktu' di SQL Server (T-SQL)

  5. Masukkan Data melalui Fungsi Bernilai Tabel di SQL Server