我遇到了一个问题,但不知道如何解决它。因此,用户选择他想要的值的数量,然后我检查可以返回的值的数量(受某些WHERE属性的限制)。假设有15个值,而用户只需要10个。
在这个例子中,我需要3个值中的2个,我如何创建一个选择,跳过每三个值中的一个?解决方案还应该处理8个值中的5个。
我已经搜索了所有的解决方案,大多数都使用了modulus和row_number或id。虽然我可以手动构建一些选择来适用于某些场景,但我缺乏知识,无法仅通过根据所选数字动态更改一些值来实现某些功能。
非常感谢您的帮助。
编辑
我选择跳过条目,而不是选择第一个/跳过第一个/随机化然后跳过的理由是:
条目实际上是位置,跳过条目是为了使路径更粗糙,我更喜欢直接在数据库中使用服务器的能力,而不是在用户机器上进行,过滤掉可能数十万个条目
1条答案
按热度按时间mdfafbf11#
下面是一个如何跳过每三行的示例。您可以轻松地自定义它。
| 列1| n.随机数|
| - -|- -|
| 10个|一个|
| 20个|2个|
| 四十个|四个|
| 五十个|五个|
| 七十个|七个|
| 八十个|八个|
| 100个|10个|
| 第一百一十章|十一|
Fiddle