【发布时间】:2013-01-14 13:22:03
【问题描述】:
我对@987654321@ 有点陌生,我发现很难理解如何使用ORDER BY 和LIMIT 查询一个表,并且在我的JOINED 上只使用ORDER BY '对'表我认为是?所以基本上,如果我要单独查询这两个表,我会使用这些查询:
SELECT * FROM posts ORDER BY dateSubmitted DESC LIMIT ?,5
'?'代表我的bind_param(),因为我正在创建分页。现在是我的“正确”第二张桌子:
SELECT * FROM postcomments WHERE postcomments.postID = posts.ID ORDER BY dateSubmitted DESC
据我的理解,将两个表“链接”在一起,我想使用LEFT JOIN,以便从“左”表(作为帖子)接收我的所有数据。
SELECT * FROM posts LEFT JOIN postcomments ON postcomments.postID = posts.ID
现在我可以做到这一点,但我不确定除了我的ORDER BY 和LIMIT 两个表我会在哪里?
我见过几种不同的方式,我认为这让我感到困惑,就像我见过这样的:
SELECT p.* FROM posts p ORDER BY posts.dateSubmitted DESC LIMIT ?,5
LEFT JOIN (SELECT * FROM postcomments
WHERE postscomments.postID = p.ID ORDER BY postcomments.dateSubmitted);
但我真的不确定如何构造我的查询:S 任何帮助表示赞赏:)
【问题讨论】:
-
你能解释一下在一个场景的帮助下限制“两个”表背后的想法吗?
-
桌帖只有一个限制。 postcmets 表为
ORDERED但不限于此。因为我想创建一个分页,所以只有帖子表是有限的。比如 0 到 5,然后是 5 到 10 等等。
标签: php mysql sql join sql-order-by