文章配图:在排行榜和历史记录查询中,排序是必不可少的操作

页面预览

前言

在排行榜和历史记录查询中,排序是必不可少的操作。RdbPredicates 提供了 orderByDescorderByAsc 方法控制结果集的排序顺序。

本文以「猫猫大作战」的战绩历史按时间倒序排列为锚点,讲解排序查询。

提示:本系列不讲 ArkTS 基础语法与环境搭建,假设你已跟完第 1–137 篇。本篇是阶段四第 138 篇。

一、排序查询

1.1 时间倒序查询

async function queryHistory(store: relationalStore.RdbStore, page: number, pageSize: number) {
  const predicates = new relationalStore.RdbPredicates('GAME_RECORD');
  predicates.orderByDesc('game_date')   // 时间倒序
    .limit(pageSize, (page - 1) * pageSize);  // 分页
  const resultSet = await store.query(predicates);
  return resultSet;
}

1.2 排序方法

方法 效果 场景
orderByDesc(field) 降序(大到小) 最新/最高
orderByAsc(field) 升序(小到大) 最旧/最低

二、总结

orderByDesc/orderByAsc 控制查询结果排序,配合 limit 实现分页。

核心要点

  • orderByDesc('game_date') 按日期降序
  • limit(count, offset) 实现分页

下一篇预告:第 139 篇将深入 distributedKVStore——跨端高分同步。

如果这篇文章对你有帮助,欢迎点赞👍、收藏⭐、关注🔔,你的支持是我持续创作的动力!


相关资源:

Logo

讨论HarmonyOS开发技术,专注于API与组件、DevEco Studio、测试、元服务和应用上架分发等。

更多推荐