So finden Sie die Spalte mit gleichen (einige x-Wert) Wert wiederholt mehr als einmal? Muss, um wieder diese Zeilen.
Gibt es eine Tabelle namens contacts
mit Spalten id, name, address, ph_no
etc.
Ich brauche, um herauszufinden, Zeilen mit dem gleichen name
, wenn die Zeilen Anzahl größer als 1 ist, zeigen diese Zeilen.
Beispielsweise:
Tabelle: contacts
id--------name--------address---------ph_no--------
111 apple U.K 99*******
112 banana U.S 99*******
123 grape INDIA 99*******
143 orange S.AFRICA 99*******
152 grape KENYA 99*******
Für die obige Tabelle die ich brauche, um Reihen mit der gleichen Spalte name
Daten wie die unten:
id--------name--------address---------ph_no--------
123 grape INDIA 99*******
152 grape KENYA 99*******
Ich brauche, um die Zeilen basierend auf dem Namen, was ich als argument angegeben, wie unten example
syntax:
select * from contacts where name='grape' and it's count(*) >1 return those rows.
Wie kann ich erreichen, die Lösung für obiges problem.
- was fehlt, genau aus den bereits gegebenen Antworten? (welche Informationen sind u Suche nach)
Du musst angemeldet sein, um einen Kommentar abzugeben.
Als @vc74 schlägt analytische Funktionen arbeiten würde, eine Menge Arbeit hier besser; vor allem, wenn Ihre Daten hat jeder Lautstärke.
BEARBEITEN
Beschränkung auf bestimmte Bezeichnungen der Tabelle
contacts
sollte wirklich über einen index aufname
und die Abfrage würde wie folgt Aussehen:name
. Es bedeutet aber, dass, wenn Sie nur eine Instanz vonwhere name = 'grape'
deine Abfrage würde also nichts zurück?Wenn Sie Zugriff auf Oracle analytische Funktionen gibt es vielleicht einen einfacheren Weg