Можете ли вы получить четкую комбинацию двух разных полей в таблице базы данных? если да, то можете ли вы привести пример SQL.
84
Как насчет того, чтобы просто:
select distinct c1, c2 from t
или же
select c1, c2, count(*)
from t
group by c1, c2
Operand should contain 1 column(s)
ошибку, ваша проблема в том, что вы, вероятно, делаете,select distinct(c1, c2) from t
и вам не разрешены скобки здесь. Вот как я сюда попал.Если вам нужны различные значения только из двух полей, а также возвращаются другие поля с ними, тогда другие поля должны иметь какую-то агрегацию на них (сумма, минимум, максимум и т. Д.), А два столбца, которые вы хотите отличить, должны появиться в группа по пункту. В остальном все именно так, как говорит Декер.
источник
Вы можете получить результат, отличный от двух столбцов, используя ниже SQL:
SELECT COUNT(*) FROM (SELECT DISTINCT c1, c2 FROM [TableEntity]) TE
источник
Если вы все еще хотите сгруппировать только по одному столбцу (как я и хотел), вы можете вложить запрос:
select c1, count(*) from (select distinct c1, c2 from t) group by c1
источник
Поделись моей глупой мыслью:
Возможно, я могу выбрать отдельный только на c1, но не на c2, поэтому синтаксис может быть
select ([distinct] col)+
гдеdistinct
квалификатор для каждого столбца.Но после размышлений я обнаружил, что различать только в одном столбце - это ерунда . Возьмем следующие отношения:
Если мы
select (distinct A), B
, то , что является надлежащимB
дляA = 1
?Таким образом,
distinct
это квалификатор дляstatement
.источник