【发布时间】:2017-06-28 08:58:23
【问题描述】:
我正在开发一个幸运抽奖概念,如下所示
数据库中会有多个选项,我们必须根据出现的百分比来获取随机选项
数据库表如下
option_id | option_name | option_type | option_in_day(%) | option_status
----------------------------------------------------------------------
1 $2 Off 2 100 1
2 $3 Off 2 95 1
3 $4 Off 2 95 1
4 $5 Off 2 90 1
5 $8 Off 2 90 1
6 $60 Cashback 2 10 1
7 $100 Cashback 2 5 1
8 Umbrela 2 50 1
9 Iphone 2 2 1
10 International
Tour 2 1 1
11 Fidget
Spinner 2 70 1
12 Free
membership 2 30 1
13 Samsung S8 2 10 1
14 $20 Off 2 60 1
15 Travel Card 2 50 1
16 Soft Toys 2 70 1
现在从这个表中我想根据百分比得到随机的 8 个选项。
更少的百分比选项在结果中检索的机会会更少。
我在sql中尝试了随机函数,但无法达到要求。
【问题讨论】:
-
检查这个link。你试过这个吗?
SELECT * FROM table_name ORDER BY RAND() LIMIT 8 -
我已经尝试过@Regolith,但我必须根据数据中给出的百分比来做