34,593
社区成员
发帖
与我相关
我的任务
分享
SELECT SUM(A),SUM(B)
FROM (SELECT COUNT(*) AS A,0 AS B
FROM STUDENT WHERE AGE <16
AND BIRTHDAY LIKE '____-01-__'
UINON ALL
SELECT 0 AS A, COUNT(*) AS B
FROM STUDENT WHERE AGE<16
AND BIRTHDAY LIKE '____-02-__') TEMP
SELECT SUM(A),SUM(B)
FROM (
SELECT COUNT(*) AS A,0 AS B
FROM STUDENT
WHERE AGE <16
AND BIRTHDAY LIKE '____-01-__'
UnION
SELECT 0 AS A, COUNT(*) AS B
FROM STUDENT WHERE AGE<16
AND BIRTHDAY LIKE '____-02-__'
) TEMP
还有一点请注意,你的语句慢就慢在了 like ‘_____-01-____’这种条件上,请尽量使用like 'a%'这种,会更好使用索引。SELECT
SUM(Case when BIRTHDAY LIKE '____-01-__' then 1 Else 0 End) As A
,SUM(Case when BIRTHDAY LIKE '____-02-__' then 1 Else 0 End) As B
FROM STUDENT WHERE AGE <16
SELECT SUM(A),SUM(B)
FROM (SELECT COUNT(*) AS A,0 AS B
FROM STUDENT WHERE AGE <16
AND BIRTHDAY LIKE '____-01-__'
UNION
SELECT 0 AS A, COUNT(*) AS B
FROM STUDENT WHERE AGE<16
AND BIRTHDAY LIKE '____-02-__') TEMP