sql query to get earliest date

sql, sql-server

Solution

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.

Problem

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..

Original source