java - SQLite 在不使用循环的情况下获取结果查询中的单行位置

标签 java android sql sqlite

使用 sql 查询我得到 100 个结果行。我需要知道这 100 行中的单行位置。我有可以循环检查的独特字段,但这需要很长时间。有没有一种方法可以让我在查询结果中获得单个项目的位置。

例如:我有一个包含唯一用户 ID(12, 13, 20, 21, 34, 5) 的表。这些用户按创建日期排序。如何通过 SQL 查询获取 id = 34 的用户位置?

最佳答案

优化 SQL 查询总是比对大量结果进行操作更有效。

制作 selectwhere您将在其中检查有多少用户的创建日期小于所需 ID 所有者的子句

SELECT 
    count(*) 
FROM 
    table 
WHERE 
    creationDate < (SELECT creationDate FROM table WHERE id = 34)

那么记录位置就是上面select的值(要不加1看你是从0还是1算起)。


如果创建日期可以重复,您需要处理这种情况取决于您如何处理具有相同 creationDate 的记录(也许简单的 creationDate <= ... 对你来说就足够了)

关于java - SQLite 在不使用循环的情况下获取结果查询中的单行位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36444995/

相关文章:

java - 输入/输出流 Java Servlet

java - FileProvider.getUriForFile 正在抛出 StringIndexOutOfBoundsException

java - 如何从 .csv 文件中拆分数据集以用于 Java 中的训练和测试?

android - 沉浸模式下edittext聚焦时如何隐藏导航栏

sql - 为什么我收到 "The log file for database ' tempdb' 已满”

SQL 按月分组日期

java - 如何从 Java 使用 Fortran 库?

java - 需要帮助从完整的 JSON 数组/对象中提取字符串

java - 实现 onclicklistener 不起作用?

sql - 如何重置从 go database/sql pool 获取的连接状态?