2012-09-10 19 views

cevap

7

Sen rekoru union all bir birleşim sorgusu

SELECT x.f1,Count(x.f1) FROM 
(SELECT p1 As F1 FROM table 
UNION ALL 
SELECT p2 As F1 FROM table 
UNION ALL 
SELECT p3 As F1 FROM table) x 
GROUP BY x.f1 
+1

NULL'dan kaçınmak isterseniz, NULL değerlerini kaldırmak için bir yan tümcesine sahip olmanız gerekir. –

5

kullanabilirsiniz Bir alt sorguda ve dış sorguda, her bir değerde count.

SELECT b.a, COUNT(b.a) 
FROM 
    (
     SELECT P1 a 
     FROM tableName 
     UNION ALL 
     SELECT P2 a 
     FROM tableName 
     UNION ALL 
     SELECT P3 a 
     FROM tableName 
    ) b 
GROUP BY b.a 
+2

Kopyaları ortadan kaldıracak UNION kullandınız. – Fionnuala

+0

@Remou teşekkürler, bunu unutun. –

İlgili konular