为什么此(组)MySQL查询无法工作

为什么此(组)MySQL查询无法工作,mysql,sql,Mysql,Sql,我有这个MySQL查询,我似乎无法解决它。 我想让它从表组合中分组符号。 按符号从组合组中选择符号 尽管当时我希望它将搜索范围限制在: 其中key='$key'和hash='$hash'按时间顺序描述 总之,这就是整个查询,尽管在运行时它会给我语法错误,但任何帮助都会很好 SELECT symbol FROM portfolio GROUP BY symbol WHERE username = '$username' AND hash = '$hash' ORDER BY time DESC;

我有这个MySQL查询,我似乎无法解决它。 我想让它从表组合中分组符号。 按符号从组合组中选择符号 尽管当时我希望它将搜索范围限制在: 其中key='$key'和hash='$hash'按时间顺序描述

总之,这就是整个查询,尽管在运行时它会给我语法错误,但任何帮助都会很好

SELECT symbol FROM portfolio GROUP BY symbol WHERE username = '$username' AND hash = '$hash' ORDER BY time DESC;
GROUP BY必须在ORDER BY子句之后或之前

另外,请在``之间加上时间,这样如果它是您正在使用的SQL引擎中的关键字,它就不会冲突。

GROUP BY必须在ORDER BY子句之后或之前

另外,请在``之间加上时间,这样如果它是您正在使用的SQL引擎中的关键字,就不会发生冲突。

试试这个

SELECT symbol FROM portfolio  WHERE username = '$username' AND hash =   
'$hash' GROUP BY symbol ORDER BY time DESC;
试试这个

SELECT symbol FROM portfolio  WHERE username = '$username' AND hash =   
'$hash' GROUP BY symbol ORDER BY time DESC;


给我们确切的错误信息也很好。只是语法上的修饰,因为你不能t@cale_b这是一个与WHERE相关的语法错误。1064-您的SQL语法有错误;查看与MySQL服务器版本对应的手册,了解在第1行“WHERE username='$username'和hash='$hash'按时间顺序描述限制0,25'附近使用的正确语法是否不是时间关键字?@cale_b time可能是关键字,但它不是保留字给我们确切的错误消息会更好,太好了。只是因为你不能t@cale_b这是一个与WHERE相关的语法错误。1064-您的SQL语法有错误;检查与您的MySQL服务器版本对应的手册,了解在第1行的“WHERE username='$username'和hash='$hash'ORDER BY time DESC LIMIT 0,25'附近使用的语法是否正确。time不是关键字吗?@cale_b time可能是关键字,但它不是保留字,是的。之后还是之前?我说“或”是因为不同的实现在任何一方或双方都接受它。我已经删除了ORDER BY,但仍然不起作用Alec-what-mysql的不同实现?@Alec给人的印象是ORDER BY是错误的,因为你说我把它放在哪里很重要,所以我把它全部去掉测试了,就是它。之后还是之前?我说“或”是因为不同的实现在任何一方或双方都接受它。我已经删除了ORDER BY,但仍然不起作用Alec-what-mysql的不同实现?@Alec给人的印象是ORDER BY是错误的,因为你说我把它放在哪里很重要,所以我把它全部删除以进行测试。如果你解释一下你改变了什么,以及它为什么起作用,我将+1。@cale_b阅读并比较,WHERE子句在他的问题中排在第一位,我可以做到,@Shortland。我明白了。我的观点是,如果能解释什么是错的,什么是变化,答案会更有帮助。因此,指南建议进行解释,而不是只编写代码。@cale_b,我从一开始就在回答中解释了原因,并首先回答了问题,但似乎没有人花太多精力去理解它。似乎选择第一个正确答案的日子已经一去不复返了。@Alec-我不反对。仅供参考,我理解问题和答案,我只是在这里尝试通过鼓励像Ezhil这样的新用户发布更好的答案来帮助提高网站的质量。我没有在这里投票,因为你的答案有点模棱两可,而这个答案仍然没有解释它为什么有效或有什么不同。如果你解释你改变了什么,以及它为什么有效,我会+1。@cale_b阅读并比较,WHERE子句在他的问题中是第一位的。我可以做到这一点,@Shortland。我明白了。我的观点是,如果能解释什么是错的,什么是变化,答案会更有帮助。因此,指南建议进行解释,而不是只编写代码。@cale_b,我从一开始就在回答中解释了原因,并首先回答了问题,但似乎没有人花太多精力去理解它。似乎选择第一个正确答案的日子已经一去不复返了。@Alec-我不反对。仅供参考,我理解问题和答案,我只是在这里尝试通过鼓励像Ezhil这样的新用户发布更好的答案来帮助提高网站的质量。我没有在这里投票,因为你的答案有点模棱两可,这个答案仍然不能解释为什么它有效或者有什么不同。