How do I query for the next three dates using EntityFieldQuery or Views? (7) This is my first question, so please don't be too harsh.  I've been trying for the last couple days to solve this with no luck.

I have a content type called "Event" which contains a custom date field for the 'start date/time' of the event. What I need is to be able to list events for the next THREE days after the current timestamp.  

Keep in mind that it doesn't count empty days, so if there are no events for tomorrow, for example, it won't count that as an empty day.  Instead it would list the events out for the next day, and the following (assuming there are events for those days).

If I were able to access the custom date field through straight SQL, I would first get the 3 dates I need, and the query would look something like this:

SELECT DISTINCT(DATE(`date_field`)) 
FROM {node} 
WHERE `type` = 'event' 
AND `field_start_test_date` &gt; NOW() 
ORDER BY DATE(`date_field`) ASC 
LIMIT 3;


I've been unable to accomplish this with Views or EntityFieldQuery. I'm also willing to create my own joins using SQL, but from what I've read, that's discouraged.  I'm open to any suggestions.  Please let me know if I need to be more specific.

Thanks!
The query you've got in your question would be the equivalent of this EntityFieldQuery:

$query = new EntityFieldQuery;
$query-&gt;entityCondition('entity_type', 'node')
  -&gt;entityCondition('bundle', 'event')
  -&gt;fieldConditon('field_start_test_date', 'value', REQUEST_TIME, '&gt;')
  -&gt;fieldOrderBy('field_start_test_date')
  -&gt;range(0, 3);

$results = $query-&gt;execute();
if (!empty($results['node'])) {
  $nodes = node_load_multiple(array_keys($results['node']));
}


I've assumed that date_field was supposed to be field_start_test_date and that the date column is a UNIX timestamp type. You'll need to make a couple of slight changes if those assumptions aren't right.