title: DELETE EXCEPT TOP 1
body: <p>Is there any way to delete all the rows in a table except one (random) row, without specifying any column names in the <code>DELETE</code> statement?</p>
  
  <p>I'm trying to do something like this:</p>
  
  <pre><code>CREATE TABLE [dbo].[DeleteExceptTop1]([Id] INT)
  INSERT [dbo].[DeleteExceptTop1] SELECT 1
  INSERT [dbo].[DeleteExceptTop1] SELECT 2
  INSERT [dbo].[DeleteExceptTop1] SELECT 3
  
  SELECT * FROM [dbo].[DeleteExceptTop1]
  
  DELETE
  FROM [dbo].[DeleteExceptTop1]
  EXCEPT
  SELECT TOP 1 * FROM [dbo].[DeleteExceptTop1]
  
  SELECT * FROM [dbo].[DeleteExceptTop1]
  </code></pre>
  
  <p>The final <code>SELECT</code> should yield one row (could be any of the three). </p>