は、あなたがより良いパフォーマンスを得るために、列のインデックスを作成検討する必要があり、この
;with cte (rowno, Name, Age, Occupation, BillingContactEmail)
as (
select row_number() over (partition by BillingContactEmail order by BillingContactEmail), Name, Age, Occupation, BillingContactEmail
from myTable
)
select Name, Age, Occupation, BillingContactEmail from cte
where rowno = 1
を試してみてください。当然の
あなたが選択する人になどの特定したい場合は、それに応じてorder by
を微調整する必要があります。
年齢/職業は重要ではありませんならば、あなたはいつものように、電子メールでグループ化された名前を取得できます。
select stuff((select concat(',', Name) from myTable a where a.BillingContactEmail = t.BillingContactEmail for xml Path('')), 1, 1, '') as Name,
BillingContactEmail
from myTable t
group by BillingContactEmail
出力:
Name BillingContactEmail
------------- --------------------
Peter,Andy [email protected]
Halla [email protected]
どのようにアンディの上にピーターを選んだのですか? – Bohemian
@ボヘミアンはランダムに行います – william007