我想要做的是选择数据库的值,
让我们说:
id ---- giftid ---- userid
1 1 481
2 1 422
3 7 123
4 9 542
5 1 122
6 1 455
例如,有4个用户希望拥有相同的giftid: 1,2,5,6
这意味着每个人将有25%被选中。
如何制作“百分比选择”?
答案 0 :(得分:1)
假设每个userid
只能声明一次giftid
,您可以在MySQL中使用ORDER BY RAND()
。这将首先从表table
中选择giftid为1
的所有行,然后随机排序结果。 LIMIT 1
确保仅返回第一条记录
SELECT * FROM table
WHERE giftid = `1`
ORDER BY RAND()
LIMIT 1
答案 1 :(得分:0)
SELECT giftid, 1.0 / COUNT(*) percentSelection
FROM tableName
GROUP BY giftid