gpt4 book ai didi

mysql - 在 WordPress 自定义 SELECT 查询中使用 MIN

转载 作者:行者123 更新时间:2023-11-29 00:47:09 25 4
gpt4 key购买 nike

我正在尝试创建自定义 SELECT 查询以从 WordPress 自定义类型中查找我的个人最佳比赛,其中时间是自定义元字段。

这是我用来选择帖子的查询。我已将其简化以进行调试,但最终我想选择几个术语 slug 并使用 GROUP BY 为每个术语找到 MIN:

        SELECT      t.slug,
p.ID,
p.post_date,
p.post_title,
m.meta_value as pb_mins
FROM $wpdb->posts p,
$wpdb->postmeta m,
$wpdb->term_relationships tr,
$wpdb->term_taxonomy tt,
$wpdb->terms t
WHERE p.ID = tr.object_id
AND p.ID = m.post_id
AND tr.term_taxonomy_id = tt.term_taxonomy_id
AND tt.term_id = t.term_id
AND p.post_type = 'runs'
AND m.meta_key = 'ssr_duration_min'
AND t.slug in ('10mi')

(我正在将结果输出到数组并使用 print_r 临时检查它。)

这会选择两个带有“10mi”项的比赛/运行,并为它们显示正确的时间/日期/标题。

当我添加 MIN 函数时,问题就来了:

        SELECT      t.slug,
p.ID,
p.post_date,
p.post_title,
MIN(m.meta_value) as pb_mins

选择了正确的(最短)时间,但其他详细信息(日期、标题)来自其他 10 英里的运行/比赛。

我已经尝试更改 FROM 子句以使用 LEFT JOININNER JOIN 但同样的事情发生了:选择当我添加 MIN 函数时,“10mi”都运行但给出了错误的输出。

感谢您提供的任何帮助。这是我在这里的第一篇文章,所以如果我需要添加更多详细信息,请告诉我。

最佳答案

我从来没有抽出时间发布我的解决方案。现在已经有一段时间了,所以我什至不记得我是如何得出它的(很可能是反复试验),但如果这对任何人有帮助,欢迎他们使用。如果我想到更多细节,我会将它们添加为对此答案的评论。

            SELECT      p1.ID,
m1.meta_value,
t1.name
FROM $wpdb->posts p1,
$wpdb->postmeta m1,
$wpdb->term_relationships tr1,
$wpdb->term_taxonomy tt1,
$wpdb->terms t1,
( SELECT t2.slug as pb_distance,
MIN(m2.meta_value) as pb_duration
FROM $wpdb->posts p2,
$wpdb->postmeta m2,
$wpdb->term_relationships tr2,
$wpdb->term_taxonomy tt2,
$wpdb->terms t2
WHERE p2.ID = tr2.object_id
AND p2.ID = m2.post_id
AND tr2.term_taxonomy_id = tt2.term_taxonomy_id
AND tt2.term_id = t2.term_id
AND p2.post_type = 'runs'
AND p2.post_status = 'publish'
AND m2.meta_key = 'ssr_duration_min'
AND t2.slug IN $slugs
GROUP BY t2.slug ) pb
WHERE p1.ID = m1.post_id
AND p1.ID = tr1.object_id
AND tr1.term_taxonomy_id = tt1.term_taxonomy_id
AND tt1.term_id = t1.term_id
AND p1.post_type = 'runs'
AND p1.post_status = 'publish'
AND m1.meta_key = 'ssr_duration_min'
AND t1.slug in $slugs
AND m1.meta_value = pb.pb_duration
ORDER BY meta_value+0

关于mysql - 在 WordPress 自定义 SELECT 查询中使用 MIN,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10070591/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com