12

In the absence of an Order By clause in a SOQL query, what order will Salesforce return results in?

Clearly if ordering is important then Order By should be specified, but I recently encountered a question about what the order would be if it was undefined.

My initial thoughts were Salesforce would return them in whatever order suited them. Much like SQL. For simple queries this would typically line up with the creation date descending and the Id ascending. For more complex queries it would depend on the joins being performed.

13

If you don't specify a where clause, the order of the returned rows is undefined, and a whole host of things can affect it including which columns you select,what your where clause is, if its a standard or custom object, if it has to do sharing checks, if it has to generate an API cursor and so on.

  • No, but when I execute the below query with no ORDER BY, I get the "same results" EVERY SINGLE TIME. So, there must be some default sort order.. SELECT Id, Name FROM User LIMIT 10 – sfdcFanBoy Nov 17 '14 at 2:39
  • 1
    The default order is the order that the db determines is the least amount of work. it does not represent any user determinable order. If you care about the order, add an order by clause. – superfell Nov 17 '14 at 3:44
11

According to the SOQL / SOSL Reference - SOQL SELECT Syntax (at the bottom of the page):

Ordered Results—There is no guarantee of the order of results unless you use an ORDER BY clause in a query.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.