2016-11-07 5 views
0

Können Sie mir beibringen, wie Sie doppelte oder gleiche Werte in verschiedenen Zeilen finden können?Suchen Sie doppelte Zeilen in 2 Feldern?

SELECT * FROM `geoname` 

Jetzt brauche ich diese Zeilen nach Duplikaten vergleichen:

WHERE `feature code` = 'ADM1' 

WHERE `feature code` = 'ADM2' 

UPDATE.

Spalte NAME enthält Namen, die dupliziert werden können. Ich möchte jemanden finden?

+0

Welche Version von SQL verwenden Sie? –

+0

PHPMyadmin SQL Apache – letsforum

+0

Haben Sie versucht, meine Abfrage auszuführen? –

Antwort

2

Um eine Zählung der Vorkommen dieser beiden Feature-Codes erhalten Sie bedingte Aggregation versuchen:

SELECT SUM(CASE WHEN `feature code` = 'ADM1' THEN 1 ELSE 0 END) AS adm1count, 
     SUM(CASE WHEN `feature code` = 'ADM2' THEN 1 ELSE 0 END) AS adm2count 
FROM yourTable 

Update: Wenn Sie, welche Namen auftreten in zweifacher Ausfertigung herausfinden möchten, dann können Sie versuchen:

SELECT NAME 
FROM yourTable 
GROUP BY NAME 
HAVING COUNT(*) > 1 
+0

Danke Kumpel Ich möchte sehen, welche Zeilen mit diesen Anweisungen denselben Namen haben? wenn 'Merkmalscode' = 'ADM1' Name ==' Merkmalscode' = 'ADM2' Name Art des Sprechens – letsforum

+1

Es gibt keine "Sorte" hier. Aktualisieren Sie Ihre Frage mit der gewünschten Ausgabe. –

1
SELECT geo.*,count(*) as Duplicate_Count 
    FROM dbo.geoname AS geo 
    having count(*) > 1 
    group by geo.* 
WHERE `feature code` = 'ADM1' OR `feature code` = 'ADM2' 

This Query will return record with its duplicate count,how many times duplication occurred. 
Verwandte Themen