从理论上讲,我应该能够在 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 子句。