Wie schreibe ich eine Abfrage, um nur festzustellen, dass eine Spalte Werte eindeutig sind?SQL-Abfrage, um festzustellen, dass Werte in Spalte eindeutig ist
Antwort
versuchen Sie dies:
select case when count(distinct col1)= count(col1)
then 'column values are unique' else 'column values are NOT unique' end
from tbl_name;
Das funktioniert, wenn Sie annehmen, dass keine Werte "NULL" sind. –
Versuchen Sie, nur bestimmte Werte einer Spalte zurückzugeben? Wenn ja, können Sie das Schlüsselwort DISTINCT verwenden. Die Syntax ist:
SELECT DISTINCT column_name,column_name
FROM table_name;
Nicht wirklich zurück, nur bestimmen. Auch ich bin verwirrt, aber das ist das, was wollte daher gebeten, wissen, wie eine solche Abfrage schreiben – JackyBoi
Sie so etwas wie verwenden können: Column1, Column2, COUNT (*) VON Tabelle GROUP SELECT BY Column1, Spalte2 HABEN COUNT (*)> 1 und wenn das, was zurückgegeben wird, irgendwelche Werte hat, sind diese Werte die nicht eindeutigen Werte. –
select count(distinct column_name), count(column_name)
from table_name;
Wenn die Anzahl der eindeutigen Werte gleich der gesamten Anzahl der Werte ist, dann müssen alle Werte eindeutig sind.
+1. Ich möchte hinzufügen, dass diese Lösung doppelte 'NULL's nicht erkennt; Es funktioniert nur für (Nicht-NULL) Werte. – stakx
Verwenden Sie das Schlüsselwort DISTINCT in einer Funktion COUNT Aggregat wie folgt:
SELECT COUNT(DISTINCT column_name) AS some_alias FROM table_name
Die obige Abfrage Sie die Anzahl der unterschiedlichen Werte in dieser Spalte geben.
Wenn Sie diejenigen auflisten möchten, die nicht eindeutig sind, nehmen Sie einfach die innere Abfrage und führen Sie sie aus. HTH.
Wenn Sie alle überprüfen möchten, ob die Werte eindeutig sind und Sie kümmern sich um NULL
Werte, tun dann so etwas wie dieses:
select (case when count(distinct column_name) = count(column_name) and
(count(column_name) = count(*) or count(column_name) = count(*) - 1)
then 'All Unique'
else 'Duplicates'
end)
from table t;
Damit folgt Query, Sie haben den Vorteil, nicht nur zu sehen, ob Ihre Spalten eindeutig sind, sondern Sie können auch sehen, welche Kombination am meisten nicht eindeutig ist. Da Sie immer noch die Frequenz 1 sehen, ist Ihr Schlüssel einzigartig. Sie wissen, dass Ihre Ergebnisse gut sind und nicht einfach fehlen. Etwas ist weniger klar, wenn eine HAVING-Klausel verwendet wird.
SELECT Col1, Col2, COUNT(*) AS Freq
FROM Table
GROUP BY Col1, Col2
ORDER BY Freq DESC
- 1. Ist die TimeStamp-Spalte eindeutig?
- 2. Was ist eine gute Heuristik, um festzustellen, ob eine Spalte in einem pandas.DataFrame kategorisch ist?
- 3. Spalte 'STUDENT_ID' in Feldliste ist nicht eindeutig
- 4. Beobachten Sie eine Datenbank-Spalte, um festzustellen, was geändert wird
- 5. IntegrityError: Spalte Name1 ist nicht eindeutig
- 6. Um festzustellen, ob eine Spalte in Datenrahmen oder nicht
- 7. Laravel: Wie Spalte eindeutig
- 8. Ist es sicher anzunehmen, dass eine GUID immer eindeutig ist?
- 9. wenn dritte Spalte in der Datei nicht eindeutig zuzuordnen ist
- 10. Eindeutig (mehrere Spalten) und null in einer Spalte
- 11. Wählen Sie Spalte eins aus, in der Spalte zwei eindeutig ist
- 12. Verwendung von ASP.NET Compare Validator, um sicherzustellen, dass das Feld eindeutig ist
- 13. Generische Möglichkeit, festzustellen, ob eine Spalte in ADO.NET existiert
- 14. Gibt es bessere Möglichkeiten festzustellen, ob eine Spalte in einer Tabelle leer ist oder nicht?
- 15. Postgres: Aktualisieren Sie alle Werte in der Spalte um eins?
- 16. Wie kann ich erzwingen, dass eine Spalte für eine gesamte Tabelle in SQL Server 2008 R2 eindeutig ist?
- 17. HTML: In einer Auswahl ist es erforderlich, dass das Wertattribut jeder Option eindeutig ist?
- 18. Wie überprüft man, dass eine Spalte Werte String oder Ziffern Werte in MySQL hat?
- 19. Ist chrome tabId in allen Fenstern eindeutig
- 20. MySQL - Anzeige null Spalte von Child-Tabelle, wenn alle Werte nicht eindeutig sind
- 21. MYSQL SELECT DISTINCT ist nicht eindeutig in der PHP, aber ist in der Datenbank eindeutig
- 22. Was soll ich tun, um sicherzugehen, dass 'Benutzername' im Tabellenbenutzer eindeutig ist und doppelten Eintrag '*' für Schlüssel 2 vermieden wird
- 23. Was ist ein guter Algorithmus um festzustellen, ob eine Eingabe ein perfektes Quadrat ist?
- 24. Wie die NaN-Werte in einer Spalte in Pandas DataFrame
- 25. SQL-Abfrage - eindeutig oder eindeutig?
- 26. Gemeinsame Werte in der Spalte zwischen den Daten in ado.net
- 27. Pandas: ersetzen Werte in Spalte
- 28. Parse - überprüfen, um festzustellen, ob die Spalte null Wert zugeordnet hat
- 29. Xpath Kontrollkästchen, um festzustellen, „geprüft“ Attribut in Selenium IDE
- 30. in delete Werte in mysql Spalte einfügen
Möchten Sie feststellen, dass alle Werte eindeutig sind? – md4
Ja, es ist mehr von entweder alle Spalten sind einzigartig oder nicht – JackyBoi
Verwandte, wenn nicht gleich: http://stackoverflow.com/questions/6941049/how-to-find-out-whether-a-table-has- einige-einzigartige-Spalten –