我需要在表格列中对日期进行排序,并从阅读器中获取最后一行(即:最新日期)。我尝试了以下方法:
using (SqlConnection con = new SqlConnection(conString))
{
SqlCommand cmd = new SqlCommand("Select * From ActivityTable
ORDER BY CONVERT(DATE, Date) ASC", con);
con.Open();
SqlDataReader rdr = cmd.ExecuteReader();
//I need to skip reading all the rows UNTIL the last row. I only need the last row
while (rdr.Read())
{
locationOfPrevious = rdr["Location"].ToString();
nodeid_previous = rdr["NodeID"].ToString();
}
rdr.Close();
}
我认为查询是正确的,但我无法从查询结果中获取最后一行(即根据排序记录的最后日期)。你的建议是什么?谢谢大家:)
答案 0 :(得分:4)
我建议通过desc排序并采取第一行 - 更有效率
答案 1 :(得分:0)
使用以下查询
Select Top 1 * From ActivityTable ORDER BY CONVERT(DATE, Date) DESC //SQL
您可以使用LIMIT
关键字在MySQL
Select * From ActivityTable ORDER BY CONVERT(DATE, Date) DESC LIMIT 0,1 //MYSQL