Distinct は関数ではなく、文の句ですselect:
  データベースが、選択された重複行の各セットのコピーを 1 つだけ返すようにする場合は、DISTINCT または UNIQUE を指定します。これら 2 つのキーワードは同義です。重複行は、選択リスト内の各式の値が一致する行です。
クエリ内の単一の式 (列) に適用することはできませんdistinct。行全体にのみ適用できます。
結果セットに何を入れたいのかは明確ではありません。name複数のsurname値で同じであることを暗示しています。それぞれを 1 回だけ表示する場合は、どの(および他のフィールド) を表示nameするかを決定する必要があります。surname1 つのオプションは、最小値または最大値をグループ化して選択することです。
select t.name, min(t.surname)
from table t
where ...
group by t.name;
実際のクエリに複数の列がある場合は、分析row_numberまたはdense_rankより適切な場合があるか、keep句があります。それはあなたが何をしようとしているかによって異なります。
または、フィールドのみが必要で、現在まったく表示されていない場合は、次のようにします。namesurname
select distinct t.name
from table t
where ... ;