結果セットで最も一般的な日付の単一の結果を取得しようとしています:
SELECT col1, col2,
(SELECT MIN(CONVERT(VARCHAR,[date], 103)) FROM TABLE ) AS [Date]
FROM TABLE WHERE [Date] BETWEEN '20160101' AND '20160131'
結果 :
だから私はただ欲しい15/01/2016
。私はこれにサブクエリとカウントを使用する必要があることを知っており、多くの異なるソリューションを試しました。初心者であるため、JOIN
特に相関のあるネストされたサブクエリよりも、サブクエリを理解するのが難しいと感じています。
グループ化date
、順序付けcount descending
、選択top 1
:
select top 1 with ties [date]
from table
where [date] between '20160101' and '20160131'
group by [date]
order by count(*) desc
with ties
一部の日付で最大数が同じになる可能性がある場合は、複数の日付を選択します。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加