EFQ - Sort by published date
It can be done. You have to add a tag to your EFQ, for example:

$query = new EntityFieldQuery();

$query-&gt;entityCondition('entity_type', 'node')
  -&gt;entityCondition('bundle', 'article')
  -&gt;propertyCondition('status', NODE_PUBLISHED)
  -&gt;addTag('published_at')
  -&gt;addMetaData('account', user_load(1)); // Run the query as user 1.


Then you wil have to implement hook_query_tag_alter, in your case:

function mymodule_query_published_at_alter($query){
  // Extend your query with some joins and order statements:
  $query-&gt;join('table');
  $query-&gt;orderBy('field');
}


The above code is an example, it won't work, but you get the picture :)