-1

理論的には、dashDB の SQL 構文で GROUP BY 句を実行できるはずです。これは機能します:

SELECT MESSAGE_BODY, MESSAGE_RETWEET_COUNT FROM COOLSCHEMA.DRIL_TWEETS 
ORDER BY MESSAGE_RETWEET_COUNT DESC
LIMIT 100;

ただし、これは次のことを行いません。

SELECT MESSAGE_BODY, MESSAGE_RETWEET_COUNT FROM COOLSCHEMA.DRIL_TWEETS 
GROUP BY MESSAGE_BODY 
ORDER BY MESSAGE_RETWEET_COUNT DESC
LIMIT 100;

これは、IBM Bluemix dashDB Web ダッシュボードの Run SQL Web コンソールから得られるエラーです。余談ですが、コピー/貼り付けができず、巨大なモニターを持っていないか、エラーメッセージパネルをスクロールする機能がなかったため、最後に切り取られました. 開発者ツールを使用して、それを含む div の innerHTML をコピーする必要がありました。

SELECT句、HAVING句、ORDER BY句に指定された「MESSAGE_RETWEET_COUNT」で始まる式がGROUP BY句に指定されていないか、列関数を持ちGROUPを持たないSELECT句、HAVING句、またはORDER BY句にあるBY句が指定されている.. SQLCODE=-119, SQLSTATE=42803, DRIVER=3.66.46

ともかく; GROUP BY 句が機能しない理由を知っている人はいますか? エラー コードのドキュメントには、HAVING 句があると記載されています ( https://www.ibm.com/support/knowledgecenter/SSEPEK_10.0.0/codes/src/tpc/n119.html )。HAVING 句がありません。

4

1 に答える 1

2

では、GROUP BY集計されていないすべての列がGROUP BY句に含まれている必要があります。私はあなたが望むかもしれないと推測します:

SELECT MESSAGE_BODY, SUM(MESSAGE_RETWEET_COUNT)
FROM COOLSCHEMA.DRIL_TWEETS 
GROUP BY MESSAGE_BODY 
ORDER BY SUM(MESSAGE_RETWEET_COUNT) DESC
LIMIT 100;
于 2016-07-15T01:31:57.530 に答える