我正在做几个 MySQL 连接来获取模板变量(即自定义字段)和它们的值(在 MODX Evo 中,但这无关紧要——这是一个通用的 MySQL 查询)。
理想情况下,我希望能够创建 2 个临时列以便在查询中使用 SORT BY 或类似的东西。我想在这些新列中为它们对应的 id 填充 'event_date' 和 'event_featured' 的值 - 然后我可以按这些列对结果进行排序。
在一个非常相关的注释中,我想将每个唯一 id 的结果限制为 20,而不是像我添加 LIMIT 那样对每一行进行限制 - 它会将以下结果裁剪为 . 这可以同时实现吗?
任何人都知道如何/如果这些是可能的?提前谢谢了。
以下结果的代码和图像:
SELECT DISTINCT
content.id, content.pagetitle, content.template , content.published,
templates.templatename,
tv_props.name,
tv_values.value
FROM `modx_site_content` AS `content`
LEFT JOIN `modx_site_templates` AS `templates` ON content.template=templates.id
LEFT JOIN `modx_site_tmplvar_templates` AS `template_tvs` ON templates.id=template_tvs.templateid
LEFT JOIN `modx_site_tmplvars` AS `tv_props` ON template_tvs.tmplvarid=tv_props.id
LEFT JOIN `modx_site_tmplvar_contentvalues` AS `tv_values` ON template_tvs.tmplvarid=tv_values.tmplvarid
WHERE templates.id=89
AND (
tv_props.name='event_featured'
OR tv_props.name='event_link_through'
OR tv_props.name='event_title'
OR tv_props.name='event_date'
OR tv_props.name='event_date_text'
OR tv_props.name='event_short_description'
OR tv_props.name='event_list_image'
);