2017-01-31 12 views
-2

ich einen Tisch select wollen zählen, die diese Schritte erfüllt: für jede SpalteWie alle unterschiedlichen Werte in jeder Spalte der Tabelle

  1. Count eindeutigen Wert.
  2. Select Top-3 Spalten mit einem maximalen Anzahl von unterschiedlichen Werten
  3. Count eindeutiger Wert des Powerset dieser Top-3 Spalten

Und meine Antwort ist ‚SELECT TOP (3) COUNT (DISTINCT column_name) AS some_alias FROM Tabellenname GROUP BY ~ ORDER BY Anzahl (*) asc '. Ist diese Abfrage in Ordnung?

+2

HFG Fragen müssen in der Regel einige Mühe zeigen, um Hilfe zu erhalten, aber Ihre Frage ist nicht einmal klar, weil es keine Daten zu löschen ist. –

+0

Markieren Sie die verwendeten DBMS, einige nicht-ANSI-SQL-Anweisungen ... – jarlh

+0

Erstellen Sie die Tabelle. Fügen Sie einige eindeutige und doppelte Daten hinzu. Versuchen Sie Ihre Anfrage! (Indem Sie es versuchen, lernen Sie viel schneller!) – jarlh

Antwort

0

Verwenden Sie distinct Wert in Unterabfrage, dann verwenden Sie zählen in Select Query wie unten.

SELECT columnName, 
    COUNT(col1) AS Col, 
    COUNT(col2) AS col2 

FROM 
(
    SELECT DISTINCT 
      columnName, 
      Col1, 
      col2 
    FROM table 
) 

GROUP BY columnName; 
+0

SELECT TOP (3) COUNT (DISTINCT spaltenname) AS some_alias FROM tabellenname GROUP BY ~ ORDER BY zählen (*) asc -> Ist das sql in Ordnung? – yong

Verwandte Themen