Mp *_*ega 1 mysql sql sql-order-by
我有这个mysql查询,我只想查询我的SELECT语句的最后3行,并且我想再次重新排序我的查询到ASC顺序,因为子查询在DESC中.
SELECT * FROM(
SELECT *
FROM post_replies
WHERE post_replies.post_hash=:posthash
ORDER BY post_replies.reply_id DESC
LIMIT 3)
ORDER BY reply_id ASC
Run Code Online (Sandbox Code Playgroud)
这是出现的错误
CDbCommand无法执行SQL语句:SQLSTATE [42000]:语法错误或访问冲突:1248每个派生表必须具有自己的别名.执行的SQL语句是:SELECT*FROM(SELECT*FROM post_replies WHERE post_replies.post_hash =:posthash ORDER BY post_replies.reply_id DESC LIMIT 3)ORDER BY reply_id ASC
我不想我怎么可以把MySQL的别名这里所定义的理解在这里
如何使我的查询只获取我的select语句的最后3行并以ASC顺序生成结果?
错误只是告诉你需要调用你的subselect东西.您将子别名后的别名放在子选择之后.这应该工作:
SELECT a.* FROM(
SELECT *
FROM post_replies
WHERE post_replies.post_hash=:posthash
ORDER BY post_replies.reply_id DESC
LIMIT 3) a
ORDER BY a.reply_id ASC
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3878 次 |
| 最近记录: |