我有以下表结构:
users:
id PK
username
email
salt
password
date_created
questions:
id PK
user_id FK(users)
title
date_created
date_updated
answers:
id PK
question_id FK(questions)
user_id FK(users)
body
date_created
所以我需要一个查询来从这些表中获取数据并显示用户的最后 5 个问题以及每个问题的前 3 个答案。像这样的东西:
"What is my favorite color? posted by user
red - posted by user1
green - posted by user2
yellow - posted by user3
.....
"
所以这就是我想要的展示。如何在 1 个查询中执行此操作?我应该使用 group concat 对 1 个问题的多个答案进行分组吗?或者我应该得到结果并在 PHP 中解析数组以按 question_id 对答案进行分组。我也需要这个查询非常快。我不确定是否会更快进行 1 个查询或进行多个查询以获取用户问题,然后问题得到答案。