理論的には、dashDBのSQL構文でGROUP BY句を実行できるはずです。これは動作します:IBM dashDBで不思議に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ウェブダッシュボードのRun SQLのWebコンソールから取得エラーです。サイドノート、私はそれをコピー/貼り付けできませんでした。私は巨大なモニターを持っていないか、エラーメッセージパネルでスクロールする機能を持っていなかったので、最後に切り捨てられました。
SELECT句、HAVING句、またはORDER BY句に "MESSAGE_RETWEET_COUNT"を指定している式がGROUP BY句に指定されていない場合は、開発ツールを使用しなければなりませんでした。またはSELECT句、HAVING句、またはORDER BY句に列関数を指定してGROUP 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句を持っていません。