HAVING
HAVING 句 (省略可能) を SOQL クエリに追加すると、集計関数が返した結果を絞り込むことができます。
HAVING 句は、GROUP BY 句と一緒に使用することで、SUM() などの集計関数によって返される結果を絞り込めます。HAVING 句は WHERE 句と類似しています。HAVING 句には集計関数を含めることができますが、WHERE 句には集計関数を含めることはできない点が異なります。
WHERE 句と同様に、HAVING 句でも条件式で = などのすべての比較演算子がサポートされており、論理演算子 AND、OR、および NOT を使用して複数の条件を含めることができます。
1[HAVING havingConditionExpression]havingConditionExpression には、クエリ結果を絞り込む集計関数を使用して 1 つ以上の条件式を指定します。
たとえば、次のクエリで GROUP BY 句を使用して、各 LeadSource 値に関連付けられたリード数を判断できます。
1SELECT LeadSource, COUNT(Name)
2FROM Lead
3GROUP BY LeadSourceただし、100 件を超えるリードを生成した LeadSource 値のみが必要な場合、HAVING 句を使用して結果を絞り込めます。次に例を示します。
1SELECT LeadSource, COUNT(Name)
2FROM Lead
3GROUP BY LeadSource
4HAVING COUNT(Name) > 100次のクエリ例は、名前が重複する取引先を返します。
1SELECT Name, Count(Id)
2FROM Account
3GROUP BY Name
4HAVING Count(Id) > 1次のクエリ例は、City が GROUP BY 句に含まれていないため無効です。
1SELECT LeadSource, COUNT(Name)
2FROM Lead
3GROUP BY LeadSource
4HAVING COUNT(Name) > 100 and City LIKE 'San%'