这个问题来自我的 Notion 付费课程的读者提问,需求如标题所示,即希望能够随机显示「语录数据库」中的任意一条语录,然后将其显示出来,要求每次刷新后,显示的语录都不一样,并且需要随机。

这个问题的解法其实需要将之前已经解决过的两个问题结合起来,分别是:

  1. 如何在 Notion 中实现随机排序
  2. 如何在数据库中只显示最后一条更新

首先依然是创建一个用于存储语录的数据库,并添加 ID 字段,然后用公式对 ID 字段进行随机排序:

1
mod(mod(Last Edited Time.timestamp()/ID.toNumber() * 1.00011979e+8 + 5.00067713e+8, 9.00066731e+8) * mod(timestamp(now()) * 8.00067089e+8 + 8.00068411e+8, 8.00053967e+8) + 9.00067309e+8, 9.00066571e+8)

20240915621.png

然后再创建一个用于显示随机语录的数据库,并将其与「语录数据库」中的每一条数据都关联起来

Notion20240915Notion 数据库制作随机语录007589@2x.png

最后使用函数,随机挑选一条函数进行显示:

1
语录数据库.map(current.随机排序).sort().slice(0,1).map(lets( rank1,current, quote,语录数据库.find(current.随机排序==rank1),quote ))

随机语录效果如下:

20240915627.png

刷新之后:

Notion20240915Notion 数据库制作随机语录007595@2x.png

不过需要注意的是,受限于 Notion 的数据库性能,刷新的时候可能会有加载迟缓的问题。

如果你也有关于 Notion 的疑问想寻求帮助,欢迎订阅我的 Notion 课程,或者加入我的 Notion 知识星球,包含无限次答疑服务,并可直接获得这个模板。