我对SQL很陌生,所以我会尽量保持它对我所要做的事情的简单。MySQL - 子查询 - 您的SQL语法错误
我有一个系统,我正在寻找选择消息,从最近的第一个,选择最多5个数据,然后在最后的最后'时间'列最后为了他们他们要正确显示。
下面是我使用的语法:
SELECT * FROM messages WHERE sender = '$uid' AND reciever = '$new_user_id'
OR reciever = '$uid' AND sender = '$new_user_id' ORDER BY id ASC
FROM (SELECT * FROM messages ORDER BY time DESC)
而这里的是我得到的错误:
您的SQL语法错误;检查 对应于你的MySQL服务器版本正确的语法使用 附近手册“FROM(SELECT * FROM消息ORDER BY时间DESC)”在1号线
我明白,我得到一些错误在这里,但是由于SQL不是我真正的东西,我不知道该怎么转。
有一点帮助会导致伟大的原因,我一直在墙上撞了我的头几个小时。
谢谢。
也许是因为您定义了两次“FROM”? – hjpotter92 2012-04-02 18:18:37
刚刚编辑它显然我错过了第二个FROM之前的ORDER BY。 – 2012-04-02 18:24:20
您仍然在使用两个'FROM'语句。尝试将查询分解为子部分(正如我在答案中所做的那样),它可以帮助您更好地了解逻辑。 ;) – hjpotter92 2012-04-02 18:27:00