次の 2 つのクエリを 1 つにマージしようとしています。
select top 100 date, count(*) from sections
where content not like '%some condition%'
group by date
order by date;
select top 100 date, count(*) from sections
group by date
order by date;
この質問のように、GROUP BY の後に LEFT JOIN? ただし、これは MySQL ではなく MS SQL Server で機能する必要があります (違いは、MSSQL では from 句でサブクエリが許可されないことです)。
date
結果セットに 、最初のcount(*)
、および 2 番目の3 つの列を持たせる方法を探していますcount(*)
。
私の現在の解決策は次のとおりです。
select top 100 date,
(select count(*) from sections s1
where content not like '%some condition%'
and s1.date = s2.date),
(select count(*) from sections s1
where s1.date=s2.date) from sections as s2
group by date
order by date;
これを行うより良い方法はありますか?