title: WordPress ignoring LIMIT / posts_per_page despite being in wp_query
body: <p>Using WP query:</p>
  
  <pre><code>$myquery = new WP_Query( array('posts_per_page' =&gt; $instance['count'], 'meta_key' =&gt; 'mywp_post_views_count', 'orderby' =&gt; 'meta_value_num', 'order' =&gt; 'DESC'  ) );
  </code></pre>
  
  <p>Let's get the request:</p>
  
  <pre><code>echo $myquery-&gt;request;
  </code></pre>
  
  <p>It returns:</p>
  
  <pre><code>SELECT SQL_CALC_FOUND_ROWS wp_posts.ID FROM wp_posts INNER JOIN wp_postmeta ON ( wp_posts.ID = wp_postmeta.post_id ) WHERE 1=1 AND wp_posts.post_type = 'post' AND (wp_posts.post_status = 'publish' OR wp_posts.post_status = 'private') AND ( wp_postmeta.meta_key = 'mywp_post_views_count' ) GROUP BY wp_posts.ID ORDER BY wp_postmeta.meta_value+0 DESC LIMIT 0, 5
  </code></pre>
  
  <p>This runs correctly in MySQL, giving me 5 post ID's. But WordPress returns 120 results!</p>
  
  <pre><code>echo '$myquery = ' . count( $myquery-&gt;posts );
  </code></pre>
  
  <p>returns: $myquery = 120</p>
  
  <p>And I've checked when looping through:</p>
  
  <pre><code> while ( $myquery-&gt;have_posts() ) : $myquery-&gt;the_post();
  </code></pre>
  
  <p>It does output the 120 unique posts, rather than the expected 5 posts.</p>
  
  <p>I can confirm:</p>
  
  <pre><code>echo 'Count: '.$instance['count'];
  </code></pre>
  
  <p>Returns: Count: 5</p>
  
  <p>I am running the latest stable WordPress (4.1), with no plugins apart from ACF (Advanced Custom Fields) - just my custom theme. Disabling this plugin has no effect, and default WordPress theme (2015) has the same issue.</p>
  
  <p>I'm struggling to understand why this is happening.</p>