0

我想要做的是选择数据库的一个值,

让我们说:

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% 可供选择。

如何进行“百分比选择”?

4

2 回答 2

1

假设 eachuserid只能声明giftid一次,则可以ORDER BY RAND()在 MySQL 中使用。table这将首先从gifidid所在的表中选择所有行1,然后随机排序结果。LIMIT 1确保只返回第一条记录

SELECT * FROM table
WHERE giftid = `1`
ORDER BY RAND()
LIMIT 1
于 2013-02-03T15:47:07.087 回答
0

你在看这个吗?

SELECT giftid, 1.0 / COUNT(*) percentSelection
FROM tableName
GROUP BY giftid
于 2013-02-03T15:53:31.943 回答