2017-10-05 7 views
1

問題は次のとおりです。codcli列のコードで識別される各顧客の支払いの番号(COUNT()機能を使用)を表示する必要があります。いくつかの部門(tipopeカラム)でフィルタリングされました。イメージでわかるように、番号は表示されていますが、部門間で分割されていますが、私は各顧客に一度しか表示させたくありません。特定の列に限定してグループ化します。

お支払いを分割しないでどのようにフィルタリングできますか?

enter image description here

+1

は、いくつかのサンプル・テーブル・データと予想される結果を追加 - すべて書式付きテキスト(画像ではありません)として表示してください。 – jarlh

+0

申し訳ありませんが、企業ファイアウォールのためにイメージが表示されません:/ - http://sqlfiddle.com/を使用して問題を実演できますか? – Nope

+0

申し訳ありませんが、これはSQLクエリです:codcliによって、 グループからの、somma_bonificiとしての選択codcli、tipope、count(codcli)、tipclickでのtipope ( 'VE5'、 'VE9'、 'PR5'、 'PR9') order by codcli –

答えて

0

外部クエリでの部門(Tipope)を含めると、サブクエリであなたのCOUNTを持っていません。

CODCLI SOMMA_BONIFICI 
AA200078 16 
AA200300 10 
AA200412 3 
AA200309 9 
+0

すでに完了しましたが、私は分割でフィルタリングする必要があります。そうでなければ、count()関数を使用して別の数値を取得します –

+0

助けてくれてありがとう! –

+0

私は誰が、なぜこの否定的な投票をしたのか理解できません... – etsa

2

はおそらく、私が正しくあなたの質問を理解していないが、なぜ単純ではない:出力しまう

SELECT CODCLI, SUM(SELECT COUNT(sub.CODCLI) 
        FROM mov sub 
        WHERE sub.TIPOPE = TIPOPE 
        GROUP BY sub.CODCLI) AS SOMMA_BONIFICI 
FROM mov 
WHERE TIPOPE IN ('VE5', ' VE9', 'PR5', 'PR9') 
GROUP BY CODCLI 
ORDER BY CODCLI 

SELECT CODCLI, COUNT(*) AS SOMMA_BONIFICI 
FROM MOV 
WHERE TIPOPE IN ('VE5', ' VE9', 'PR5', 'PR9') 
GROUP BY CODCLI 
ORDER BY CODCLI; 
+0

簡単です!助けてくれてありがとう –

関連する問題