2017-01-19 11 views
0

初めてのポスターで助けを求めています。私が取得グループと集計関数の質問

SELECT HCIS,ServiceDate,PrimeInsMnemonic,TIN,Amount,SUM(Amount) AS Total 
FROM dbo.PbrChargeTransactions 
WHERE HCIS = 'ASL' 
AND ServiceDate Between'01/01/16' and '12/31/16' 
AND PrimeInsMnemonic = 'MED' 
AND TIN in ('460224598','46-0224598') 
GROUP By HCIS 
ORDER BY SUM(Amount) 

エラー:それはどちらかの集計に含まれていないため

メッセージ8120、レベル16、状態1、行1 列は「dbo.PbrChargeTransactions.ServiceDate」選択リストでは無効です関数またはGROUP BY句を使用します。

私は、なぜこれが機能していないのか、誰かが私に説明するのに十分親切であることを望んでいましたか?

ありがとうございました!

+0

可能な複製(http://stackoverflow.com/questions/20074562/group-by-without-aggregate-function) –

答えて

1

私はメッセージがかなり明確だと思います。すべての集約されていない列はGROUP BYにある必要があります。

SELECT HCIS, SUM(Amount) AS Total 
FROM dbo.PbrChargeTransactions 
WHERE HCIS = 'ASL' AND 
     ServiceDate Between '2016-01-01' AND '2016-12-31' AND 
     PrimeInsMnemonic = 'MED' AND 
     TIN in ('460224598','46-0224598') 
GROUP By HCIS 
ORDER BY SUM(Amount) 
+0

はありがとうございました。私は自分自身でもっと頑張っていました。私は本当に助けに感謝します。 – SkysLastChance

0

あなたは、彼らが集約関数

SELECT HCIS、ServiceDate、PrimeInsMnemonic、TINに含まれていない場合はグループ別に繰り返すようにSelectステートメントのすべての列を含める必要があります。だから、あなたが使用していない列を削除dbo.PbrChargeTransactions WHERE HCIS = 'ASL' AND ServiceDate Between'01/01/16' と'12/31/16' AND PrimeInsMnemonic = 'MED' およびスズからの総 AS、金額、SUM(金額) ( '460224598'、 '46-0224598') GROUP By HCIS、ServiceDate、PrimeInsMnemonic、TIN、金額 ORDER BY SUM(金額)

0

これは、選択肢に列単位でグループに入力する必要があります。 [集計機能のないGROUP BY]の

SELECT HCIS,ServiceDate,PrimeInsMnemonic,TIN,Amount,SUM(Amount) AS Total 
FROM dbo.PbrChargeTransactions 
WHERE HCIS = 'ASL' 
AND ServiceDate Between'01/01/16' and '12/31/16' 
AND PrimeInsMnemonic = 'MED' 
AND TIN in ('460224598','46-0224598') 
GROUP By HCIS,ServiceDate,PrimeInsMnemonic,TIN,Amount 
ORDER BY SUM(Amount)