我在php/mysql中创建了一个简单的博客,在主页上显示最新的100个帖子,每个帖子显示评论的编号.
这是伪代码:
Mysql query to get latest 100 posts.
While cicle:
Get title and body of each post.
Mysql query to get the comments's number of the post.
Run Code Online (Sandbox Code Playgroud)
数据库结构:
Post:
-id
-title
-body
-date
Comments:
-id
-id_post
-id_user
-body
-date
Run Code Online (Sandbox Code Playgroud)
有没有办法避免100个查询?
这是一个相当简单的查询:
SELECT p.id, p.title, p.body. p.date, COUNT(c.id) AS comment_count
FROM Post p
LEFT JOIN Comments c ON p.id=c.id_post
GROUP BY p.id, p.title, p.body. p.date
ORDER BY p.id DESC
LIMIT 100
Run Code Online (Sandbox Code Playgroud)
(请注意,它是未经测试的,以此为出发点.)
我知道,人们普遍认为数据库只不过是一个奇特的文件系统而且SELECT * FROM data是你需要知道的所有SQL,但是花一些时间学习基本的SQL它绝对值得付出努力.
| 归档时间: |
|
| 查看次数: |
98 次 |
| 最近记录: |