Bagaimana cara menghitung nilai unik?

9

Saya mencoba mendapatkan jumlah ip_addresses unik (dalam hal ini '3'). Tabelnya terlihat seperti ini:

Struktur:

CREATE TABLE bandits (
  key text NOT NULL,
  ip_address inet,
  offence text,
  count bigint DEFAULT 1);

Data:

SALINAN bandit (kunci, ip_address, pelanggaran, jumlah) DARI stdin;
127.0.0.1_testing 127.0.0.1 pengujian 1
127.0.0.2_testing 127.0.0.2 pengujian 3
127.0.0.2_testing2 127.0.0.2 testing2 1
127.0.0.3_testing 127.0.0.3 pengujian 1
Pengikat dasi
sumber
1
Cobaselect distinct .....
John Gardeniers

Jawaban:

15
SELECT COUNT(DISTINCT ip_address) FROM bandits
Mark Henderson
sumber
1
wow, terima kasih, saya mencoba SELECT DISTINCT COUNT [...] dll. Kadang-kadang saya tidak melihat ...
Tie-fighter
2

Seperti disebutkan di sini: /programming/11250253/postgresql-countdistinct-very-slow , mungkin lebih cepat menggunakan versi yang sedikit lebih lama sebagai gantinya:

SELECT count(*) FROM (SELECT DISTINCT ip_address FROM bandits) AS bandits_distinct
icl7126
sumber