Sort WordPress Posts Meta value by Week not Day

I agree with Rarst about the WEEK function, but be sure to also use YEAR as well to order the posts. So your order by would look something like this:

ORDER BY YEAR($wpdb->posts.post_date) DESC, WEEK($wpdb->posts.post_date) DESC, $wpdb->postmeta.meta_value+0 DESC

Of course, this is still pulling all posts, so you might also want to just limit the query to only pull the current year by adding this to your WHERE clause.

AND YEAR($wpdb->posts.post_date) = YEAR(CURDATE())