MS Access SQL,SELECT列中最后五个最高值

时间:2014-09-11 21:28:37

标签: c# ms-access

MS Access SQL,SELECT列中最后五个最高值

例如,我有一个名为游戏的桌子,我想要最喜欢的五大游戏。

2 个答案:

答案 0 :(得分:6)

这样的事情:

select top 5 *
from games
order by likes desc, id desc

我添加了一个" tie-breaker"到order by子句以防止访问返回超过5个记录,即主键。

感谢@Fionnuala指出Access的这个问题。有关详细信息,请参阅here

答案 1 :(得分:-3)

虽然这会让您受到注射攻击,但您的请求并未提供有关您的设置的大量信息。从技术上讲,您应该对您的SQL查询进行参数化以防止它。但是,这应该做你想要的。

SqlConnection sqlConnection1 = new SqlConnection("Your Connection String");
SqlCommand cmd = new SqlCommand();
SqlDataReader reader;

cmd.CommandText = "SELECT top 5 * FROM games ORDER BY likes desc";
cmd.CommandType = CommandType.Text;
cmd.Connection = sqlConnection1;

sqlConnection1.Open();

reader = cmd.ExecuteReader();

sqlConnection1.Close();