SQL OrderBy When using an In() query Example query

SELECT * FROM Table WHERE ID in (5,3,4)


How do I adjust this query so that the order of the returned entries follows the input of the ID's (IE, 5 first, 3 second, 4 third).

Edit - To be clear the ID's a dynamically generated list that is in the right order.
Your best bet is going to be to split the list into a temp table.

I'm using Jeff Moden's DelimitedSplit8k.  You can find the code here.  Note it includes an ItemNumber column that is the values in order.

DECLARE @DelimString varchar(50) = '4,5,3'

SELECT * INTO #DelimList FROM dbo.DelimitedSplit8k(@DelimString,',')

SELECT Table.*
FROM Table
JOIN #DelimList
    ON Table.Id = #DelimList.Item
ORDER BY #DelimList.ItemNumber


This has the added benefit of being faster for large numbers of values in the delimited list.