Question: My table name is `tblEvent` and its columns are `EventID`, `Name`, `Description`, `EventTypeID`, `TotalBudget`, `CustomerID`, `EventStatus`, `EventDate`

I want to select the latest 3 records. 

I have tried this:

```
public DataTable HomeEvents()
{
    string query = "select TOP 3 tblEvent.*, tblCustomer.Name as 'CustomerName', tblCustomer.Photo AS 'CustomerPhoto' from tblEvent ORDER BY EventID DESC, tblCustomer where tblEvent.CustomerID = tblCustomer.CustomerID";

    List<SqlParameter> lstParams = new List<SqlParameter>();
    DataTable dt = DBUtility.SelectData(query, lstParams);
    return dt;
}

```

Answer: 
As Guffa said, Order By comes after where, and you need to 
"Order By EventDate DESC"
Change your SQL statement to read

```
... ORDER DESC BY ...

```

This will sort in reverse order, the first three are now the last three.