在一个sql命令中从一个数据库表中选择多个计数

end*_*hin 5 sql database oracle select count

我有一个像这样的Oracle数据库表,它记录了在扫描点扫描的项目.

ItemsScan
ItemScanId
ItemScanPoint
ItemType
ScanTime

我想返回ItemScanPoint以及在该ItemScanPoint上扫描特定ItemType的次数.

有点像..

SELECT ItemScanPoint,
       (SELECT COUNT(*) WHERE ItemType = 1),
       (SELECT COUNT(*) WHERE ItemType = 2)
FROM   ItemsScan
Run Code Online (Sandbox Code Playgroud)

我怎么在oracle中这样做?

什么是最有效的方式?

rem*_*rel 13

SELECT   ItemScanPoint,
         SUM(CASE ItemType WHEN 1 THEN 1 ELSE 0 END) ,
         SUM(CASE ItemType WHEN 2 THEN 1 ELSE 0 END)   
FROM     ItemsScan 
GROUP BY ItemScanPoint
Run Code Online (Sandbox Code Playgroud)