具有INNER JOIN和LIMIT的MYSQL SELECT

时间:2019-01-02 20:16:49

标签: mysql

我对MYSQL不太熟悉并陷入困境。

如何向以下查询中添加LIMIT 0,100

SELECT 
    m.meta_id, 
    m.meta_key, 
    m.meta_value, 
    m.post_id, 
    p.post_title, 
    p.post_parent, 
    p.post_status
FROM 
    wp_abcd_postmeta m
    INNER JOIN wp_abcd_posts as p 
        ON( 
            p.id = m.post_id 
            AND p.post_type = 'product_variation'
        )

预期结果将是获得包含100个项目的数组。我尝试将其添加到末尾,但这只会导致4个项目(我猜是因为稍后会执行内部联接过滤器)

如果最后我用LIMIT 100运行查询,我将得到4个结果-而我却没有得到超过500个结果...

如果我用LIMIT 100ORDER BY m.post_id运行查询,我再一次只能得到一些结果,但不能得到100,所以对我来说,似乎这里的限制不太有效...

2 个答案:

答案 0 :(得分:-1)

SELECT 
    m.meta_id, 
    m.meta_key, 
    m.meta_value, 
    m.post_id, 
    p.post_title, 
    p.post_parent, 
    p.post_status
FROM 
    wp_abcd_postmeta m
    INNER JOIN wp_abcd_posts as p 
        ON p.id = m.post_id 
        AND p.post_type = 'product_variation'
LIMIT 100

答案 1 :(得分:-1)

请确保您在两个表中都具有数据,如果可以的话,您可以根据表数据使用联接。

比尝试此查询

SELECT m.meta_id, m.meta_key, m.meta_value, m.post_id, p.post_title, p.post_parent,p.post_status FROM wp_abcd_postmeta m INNER JOIN wp_abcd_posts as p on p.id = m.post_id and p.post_type = 'product_variation' limit 100