【发布时间】:2021-12-15 05:04:58
【问题描述】:
我真的很困惑如何编写一个查询,该查询从我的 MySQL 数据库中的一个表中随机选择 50 个 DISTINCT 随机标题,然后从单独的表中从每个标题中选择 1 个随机摘录。第一个表是标题,第二个是摘录。
我尝试了两个嵌套在一起的查询,但这要么不起作用,要么返回重复的标题,尽管应该是 DISTINCT。
有人能帮我解决我哪里出错了吗?!
我现有的 PHP:
$distincttitlequery = “SELECT DISTINCT titleid FROM titles ORDER BY rand() LIMIT 50”;
$distincttitleresult = mysql_query($cxn,$distincttitlequery);
while ($distinctqueryreturn = mysqli_fetch_assoc($distincttitlequery))
{
extract ($distinctqueryreturn);
$selectedtitle = $titleid;
$randomexcerptquery = “SELECT excerpts.titleid, excerpts.excerptid, excerpts.excerptsynopsis, title.titleid, title.title FROM excerpts INNER JOIN titles ON excerpts.titleid=title.titleid WHERE titleid = ‘$selectedtitle’ ORDER BY rand() LIMIT 1”;
$randomexcerptresults = mysql_query($cxn,$randomexcerptquery);
while ($randomexcerptreturn = mysqli_fetch_assoc($randomexcerptquery))
{
[ECHO RESULTS HERE]
}};
我读过关于 GROUP BY 的类似帖子,但我需要创建一个查询来处理不同的、随机的和连接的表,我完全不知道从哪里开始!
我现有的代码在多个列上使用 DISTINCT 并连接表,但这会导致标题在返回的结果中重复。我可以忍受它,但我很想完善它!
提前感谢您对此提供的帮助。
【问题讨论】:
标签: php mysql join random distinct