Чи можете ви отримати чітку комбінацію 2 різних полів у таблиці бази даних? якщо так, можете навести приклад SQL.
Відповіді:
Як щодо просто:
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
Поділіться моєю дурною думкою:
Можливо, я можу вибрати різницю лише на c1, але не на c2, тому синтаксис може бути select ([distinct] col)+
де distinct
є кваліфікатором для кожного стовпця.
Але після роздумів я виявляю, що різниця лише в одній колонці - це нісенітниця . Візьмемо такі відносини:
| A | B
__________
1| 1 | 2
2| 1 | 1
Якщо ми select (distinct A), B
, то , що є належним B
для A = 1
?
Таким чином, distinct
є кваліфікатором для a statement
.