Sql query to get earliest date

sqlsql server

If I have a table with columns id, name, score, date

and I wanted to run a sql query to get the record where id = 2 with the earliest date in the data set.

Can you do this within the query or do you need to loop after the fact?

I want to get all of the fields of that record..

Best Answer

If you just want the date:

SELECT MIN(date) as EarliestDate
FROM YourTable
WHERE id = 2

If you want all of the information:

SELECT TOP 1 id, name, score, date
FROM YourTable
WHERE id = 2
ORDER BY Date

Prevent loops when you can. Loops often lead to cursors, and cursors are almost never necessary and very often really inefficient.