私は次のクエリがありますSQLユースケースの内側DISTINCT
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何ができるのですか?最初のカウントは非常に簡単ですが、どのようにDISTINCTを使用して男性と女性を分けることができますか?
ありがとうございます!
は、いくつかのサンプル・テーブル・データ、現在の結果、および期待される結果を追加します。 – jarlh
SELECT COUNT(DiSTINCT F.CD)...それは依存します。例えば。 MS Accessは – StanislavL
をサポートしていませんjarlh:重複した値を削除するために合計結果をDISTINCTしたいが、そのDISTINCTを次のカウントにも適用したい! StanislavL:はい、最初のカウントでは、DISTINCTをそのまま使用することができます...問題は他の2つのカウントにあります! –