SOQL 기본문법(07)

Aggregate Functions


Tue, May 28, 2019 written by Yong-Jin

Aggregate Functions

분석을 위해 보고서를 생성하려면 SOQL 쿼리의 GROUP BY 절에 집계 함수를 사용합니다.
집계 함수에는 AVG (), COUNT (), MIN (), MAX (), SUM () 등이 있습니다.

Aggregate Function Description
AVG() SELECT CampaignId, AVG(Amount)
FROM Opportunity
GROUP BY CampaignId
COUNT() and COUNT(fieldName) SELECT COUNT()
FROM Account
WHERE Name LIKE ‘a%’

SELECT COUNT(Id)
FROM Account
WHERE Name LIKE ‘a%’
GROUP BY 절을 사용하는 경우 COUNT () 대신 COUNT (fieldName)를 사용하십시오.
COUNT_DISTINCT() SELECT COUNT_DISTINCT(Company)
FROM Lead
MIN() SELECT MIN(CreatedDate), FirstName, LastName
FROM Contact
GROUP BY FirstName, LastName
MAX() SELECT Name, MAX(BudgetedCost)
FROM Campaign
GROUP BY Name
SUM() SELECT SUM(Amount)
FROM Opportunity
WHERE IsClosed = falseAND Probability > 60

집계 함수를 사용하지만 GROUP BY 절을 사용하지 않는 쿼리에서는 LIMIT 절을 사용할 수 없습니다.

( Error )
SELECT MAX(CreatedDate)
  FROM Account 
 LIMIT 1

집계 함수에서 필드 유형 지원

Data Type AVG() COUNT() COUNT_DISTINCT() MIN() MAX() SUM()
base64 No No No No No No
boolean No No No No No No
byte No No No No No No
date No Yes Yes Yes Yes No
dateTime No Yes Yes Yes Yes No
double Yes Yes Yes Yes Yes Yes
int Yes Yes Yes Yes Yes Yes
string No Yes Yes Yes Yes No
time No No No No No No
address No No No No No No
anyType No No No No No No
calculated Depends on data type* Depends on data type* Depends on data type* Depends on data type* Depends on data type* Depends on data type*
combobox No Yes Yes Yes Yes No
currency** Yes Yes Yes Yes Yes Yes
DataCategoryGroupReference No Yes Yes Yes Yes No
email No Yes Yes Yes Yes No
encryptedstring No No No No No No
location No No No No No No
ID No Yes Yes Yes Yes No
masterrecord No Yes Yes Yes Yes No
multipicklist No No No No No No
percent Yes Yes Yes Yes Yes Yes
phone No Yes Yes Yes Yes No
picklist No Yes Yes Yes Yes No
reference No Yes Yes Yes Yes No
textarea No Yes Yes Yes Yes No
url No Yes Yes Yes Yes No