如何在没有任何排序参数的情况下从表格底部选择行......?
Posted
技术标签:
【中文标题】如何在没有任何排序参数的情况下从表格底部选择行......?【英文标题】:How to select rows from bottom of the Table without any sorted parameters....? 【发布时间】:2013-11-28 08:57:57 【问题描述】:我有一个包含 10,00,000 条记录的表(比如保存和排序的每日登录历史记录)
我需要找到存储在表格下方的最后登录详细信息(关于日期和员工 ID)。
如何编写查询(SELECT
查询)来查找行(从下到上搜索并选择行)
其实我是想提高执行速度……
if Order-By / Group-By is used this orders after selecting rows...
怎么做?
请给出一些在 C# 中真正有效的选择查询....
【问题讨论】:
到目前为止你得到了什么? 【参考方案1】:将结果按降序排列然后将结果限制在顶部会更有效
var table = new Collection<Foo>();
var results = table.OrderByDescending(a => a.Id).Take(10).ToList();
这将评估为一个不需要完整记录集来满足结果的 sql 查询,只需要最近的记录。
当然,在不知道哪些字段可用的情况下,以上只是猜测。
【讨论】:
【参考方案2】:您可以检索最近 10 次登录,例如:
SELECT top 10 *
FROM your_table
ORDER BY login_date DESC
【讨论】:
这个查询需要用 C# 编写,大概使用 LINQ 或 LAMBDA 表达式。以上是关于如何在没有任何排序参数的情况下从表格底部选择行......?的主要内容,如果未能解决你的问题,请参考以下文章
如何在没有临时表的情况下从另一个存储过程调用存储过程(带参数)
如何在没有 \n 的情况下从 txt 中获取特定行(Python)
如何在没有用户身份验证的情况下从 Spotify 或任何其他 API 获取歌曲预览