, , ( Java-), SQL . , Java-, , . . "2. " .
JDBC SQL , MyBatis jOOQ.
:
GROUP BY
SELECT [AppID], [DocStatus], count(*)
FROM [MyTable]
GROUP BY [AppID], [DocStatus]
SQLFiddle
SELECT [AppID],
(SELECT count(*) FROM [MyTable] [t2]
WHERE [t1].[AppID] = [t2].[AppID]
AND [DocStatus] = 0) [Status_0],
(SELECT count(*) FROM [MyTable] [t2]
WHERE [t1].[AppID] = [t2].[AppID]
AND [DocStatus] = 1) [Status_1]
FROM [MyTable] [t1]
GROUP BY [AppID]
SQLFiddle
SUM()
SELECT [AppID],
SUM(IIF([DocStatus] = 0, 1, 0)) [Status_0],
SUM(IIF([DocStatus] = 1, 1, 0)) [Status_1]
FROM [MyTable] [t1]
GROUP BY [AppID]
SQLFiddle
PIVOT
SELECT [AppID], [0], [1]
FROM (
SELECT [AppID], [DocStatus]
FROM [MyTable]
) [t]
PIVOT (count([DocStatus]) FOR [DocStatus] IN ([0], [1])) [pvt]
SQLFiddle