【发布时间】:2021-01-29 15:27:02
【问题描述】:
我正在尝试获取具有元值的帖子,其中帖子具有一些元值。 对于分页,我需要对与查询匹配的所有行进行计数,以便我可以将其划分为页面并提供给前端。 但我认为我在这里遗漏了一些基本概念,即使匹配更多行,我每次都会计数 1。
^ 这是我在 phpmyadmin 中运行后得到的结果
SELECT
COUNT(*) AS total_rows,
p.id,
p.title,
m.meta_key,
m.meta_value
FROM
posts p
LEFT JOIN meta m ON
p.id = m.object_id AND m.table_name = "post"
WHERE
m.meta_key = 'post_taxonomy' AND m.meta_value = 'banner' AND p.post_type = 'post'
GROUP BY
p.id
但我想要类似下面的截图
【问题讨论】:
-
请use text, not images/links, for text--including tables & ERDs。仅将图像用于无法表达为文本或增强文本的内容。在图片中包含图例/键和说明。
-
Left Join With Where Clause 的副本这是一个常见问题解答。请在考虑发布之前阅读您的教科书和/或手册和谷歌任何错误消息或您的问题/问题/目标的许多清晰、简洁和精确的措辞,有和没有您的特定字符串/名称和站点:stackoverflow.com 和标签;阅读许多答案。反映你的研究。请参阅How to Ask 和投票箭头鼠标悬停文本。如果您发布问题,请使用一个措辞作为标题。
-
无论您遇到什么其他问题,您都在使用 left join & where 在重复链接中描述的方式。--所以您可以将 left 更改为 inner & 总是得到相同的结果。因此,无论您遇到什么其他问题,您都无缘无故地使用 left 而不是 inner。这在答案中进行了解释。其他问题请参阅我的下一条评论,重复上面的第一条评论。不对该评论采取行动是关闭帖子的另一个原因。当您采取行动时,您的问题将是另一个常见问题。不欢迎你没有理由这么想。请自学网站的运作方式。 help center
-
请在代码问题中给出minimal reproducible example--cut & paste & runnable code,包括最小的代表性示例输入为代码;期望和实际输出(包括逐字错误消息);标签和版本;明确的规范和解释。给出尽可能少的代码,即您显示的代码可以通过您显示的代码扩展为不正常的代码。 (调试基础。)对于包含 DBMS 和 DDL(包括约束和索引)的 SQL,并以表格式作为代码输入。 How to Ask 暂停总体目标的工作,将代码砍到第一个表达式,没有给出你期望的内容,说出你的期望和原因。