MS Access SQL,SELECT列中最后五个最高值
例如,我有一个名为游戏的桌子,我想要最喜欢的五大游戏。
答案 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();