【发布时间】:2016-04-07 10:59:21
【问题描述】:
我有以下疑问:
SELECT M.TYPE, COUNT(F.CD) AS TOTAL,
COUNT(CASE WHEN F.GENDER=0 THEN F.GENDER END) AS NUM_MALE,
COUNT(CASE WHEN F.GENDER=1 THEN F.GENDER END) AS NUM_FEMALE
FROM MARC M
LEFT JOIN FUNCION F ON M.CD_FUNCION = F.CD
GROUP BY 1
即使 FUNCION 在 MARC 表中有几行,此查询也会按 TYPE 返回所有计数。但如果我只想要 DISTINCT FUNCIONS 我该怎么做?第一个计数很容易,但我如何使用 DISTINCT 来区分男性和女性?
提前致谢!
【问题讨论】:
-
添加一些示例表数据、当前结果和预期结果。
-
SELECT COUNT(DiSTINCT F.CD)... 但这取决于。例如。 MS Access 不支持
-
jarlh:我希望它对 Total 结果进行 DISTINCT 以删除重复值,但我希望 DISTINCT 也适用于以下计数! StanislavL:是的,在第一个计数中,我可以像那样使用 DISTINCT……问题在于其他两个计数!