0

私がやりたいことは、データベースの値を選択することです。

まあ言ってみれば:

id ---- giftid ---- userid
1         1           481
2         1           422
3         7           123
4         9           542
5         1           122
6         1           455

たとえば、1、2、5、6 の同じ giftid を希望する 4 人のユーザーがいるとします。

これは、それぞれが 25% ずつ選択されることを意味します。

「パーセント選択」を行うにはどうすればよいですか?

4

2 に答える 2

1

every が a を1 回useridだけ要求できると仮定すると、MySQL で the を使用できます。これにより、まずgiftid があるテーブルからすべての行が選択され、次に結果がランダムに並べられます。は、最初のレコードのみが返されるようにしますgiftidORDER BY RAND()table1LIMIT 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 に答える