Können Sie die unterschiedliche Kombination von 2 verschiedenen Feldern in einer Datenbanktabelle erhalten? Wenn ja, können Sie das SQL-Beispiel bereitstellen.
Antworten:
Wie wäre es einfach:
select distinct c1, c2 from t
oder
select c1, c2, count(*)
from t
group by c1, c2
Operand should contain 1 column(s)
Fehler sehen, besteht Ihr Problem darin, dass Sie dies wahrscheinlich tun select distinct(c1, c2) from t
und hier keine Klammern zulässig sind. So bin ich hierher gekommen.
Wenn Sie unterschiedliche Werte von nur zwei Feldern wünschen und andere Felder mit diesen zurückgeben möchten, müssen die anderen Felder eine Art Aggregation aufweisen (Summe, Min, Max usw.), und die beiden Spalten, die Sie unterscheiden möchten, müssen in angezeigt werden die group by-Klausel. Ansonsten ist es genau so, wie Decker sagt.
Teile meinen dummen Gedanken:
Vielleicht kann ich nur auf c1, aber nicht auf c2 unterscheiden, also kann die Syntax sein, select ([distinct] col)+
wo distinct
ein Qualifikator für jede Spalte ist.
Aber nach dem Nachdenken finde ich, dass es Unsinn ist, nur in einer Spalte zu unterscheiden . Nehmen Sie die folgende Beziehung:
| A | B
__________
1| 1 | 2
2| 1 | 1
Wenn wir select (distinct A), B
, was ist dann das richtige B
für A = 1
?
Somit distinct
ist ein Qualifier für a statement
.