gpt4 book ai didi

sql - 如何增加选择旧报价的机会

转载 作者:行者123 更新时间:2023-12-05 01:14:29 25 4
gpt4 key购买 nike

我有一个包含引号的数据库。我喜欢显示随机报价。但有两个条件。

  • 不应选择上周显示的行情。
  • 报价显示的时间越久,被选中的可能性就越大。

第一个并不难。我可以为此使用 WHERE 子句。

第二个我不知道怎么实现。有没有一种简单的方法可以做到这一点,或者我需要为此定义一个复杂的函数?

一个扩展也不错。大多数报价最初不会显示。如果能给一个还没有展示的报价一个更大的展示机会,那就太好了。

最佳答案

一种可能的方法:按过去使用报价的时间长度乘以一个随机数来排序。这具有为过去更远的记录赋予更大权重的效果。

伪代码如下:

select quote from quotes 
where current date - display date > 1 week
order by ((current date - display date - 1 week) * random number) desc
fetch first row only

您必须使其适应您系统的日期/时间功能,因为这些功能变化很大。

您可能需要使用一个中间步骤来为每一行应用一个随机数,因为通过 rand() 直接排序在很多系统上都不起作用。

更新:这里是a working MySQL example .

关于sql - 如何增加选择旧报价的机会,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15222274/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com