Android:获取列中的最高值

发布于 2024-07-21 05:34:05 字数 70 浏览 8 评论 0原文

我有一个指向内容的 URL,我需要获取其中一列中包含的最高值。 是否有任何聚合函数可以完成该任务,或者我必须手动执行此操作?

I have an URL pointing to content and I need to get the highest value contained in one of the columns. Is there any aggregate function that will accomplish that or do I have to do this manually?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

九公里浅绿 2024-07-28 05:34:05

如果您要查询 Android 内容提供程序,则应该能够通过将 MAX(COLUMN_NAME) 传递到 ContentResolver.query 的选择参数来实现此目的:

getContentResolver().query(uri, projection, "MAX(COLUMN_NAME)", null, sortOrder);

其中 Uri 是内容提供商的地址。 这应该返回 COLUMN_NAME 中具有最高值的单行。

If you're querying an Android content provider, you should be able to achieve this by passing MAX(COLUMN_NAME) in to the selection parameter of ContentResolver.query:

getContentResolver().query(uri, projection, "MAX(COLUMN_NAME)", null, sortOrder);

Where Uri is the address of the content provider. This should return the single row with the highest value in COLUMN_NAME.

无力看清 2024-07-28 05:34:05

Android 的数据库使用 SQLite,因此 SELECT MAX(thecolumn) FROM TheTable 应该可以工作,就像任何其他 SQLite 实现一样(或者任何其他 SQL,无论是否为“ite”;-)。 (如果您不使用android.database,您最好指定您正在使用的什么;-)。

Android's database uses SQLite, so SELECT MAX(thecolumn) FROM TheTable should work, just like in any other SQLite implementation (or for that matter any other SQL, "ite" or not;-). (If you're not using android.database you'd better specify what you're using instead;-).

倦话 2024-07-28 05:34:05

这对我有用。

基于@Reto Meier 和@Florian von Stosch 的回复。

public static long getMaxId(Context context) {

    long maxId = 0;

    Cursor maxCursor = context.getContentResolver().query(
            ProviderContentContract.CONTENT_URI,
            new String[]{"MAX(" + Table._ID + ")"},
            null,
            null,
            null);

    if (maxCursor != null && maxCursor.moveToFirst()) {
        maxId = maxCursor.getInt(0);
         maxCursor.close();
    }
    return maxId;
}

That worked for me.

Based on the responses of @Reto Meier and @Florian von Stosch.

public static long getMaxId(Context context) {

    long maxId = 0;

    Cursor maxCursor = context.getContentResolver().query(
            ProviderContentContract.CONTENT_URI,
            new String[]{"MAX(" + Table._ID + ")"},
            null,
            null,
            null);

    if (maxCursor != null && maxCursor.moveToFirst()) {
        maxId = maxCursor.getInt(0);
         maxCursor.close();
    }
    return maxId;
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文