大家好,我有问题。mysql从会员表中获得50%
我有表名成员我的数据库结束 我不会选择50层%的女性 年底50%的人。
我不知道如何执行查询
SELECT * FROM `members` WHERE gender = 'FEMALE' OR gender = 'MALE'
大家好,我有问题。mysql从会员表中获得50%
我有表名成员我的数据库结束 我不会选择50层%的女性 年底50%的人。
我不知道如何执行查询
SELECT * FROM `members` WHERE gender = 'FEMALE' OR gender = 'MALE'
首先,你需要排名您行和性别创建分区,
类似的东西:
SELECT @row_num := IF(@prev_value=GENDER,@row_num+1,1) AS RowNumber
user_id,
Gender,
@prev_value := GENDER
FROM Person,
(SELECT @row_num := 1) x,
(SELECT @prev_value := '') y
ORDER BY Gender,user_id
,比你可以拉你需要的用户数,例如,如果你需要100个用户,你可以在运行时ROWNUMBER < = 50,
你会得到每个性别50名的用户(如果你有足够的记录表)。
您可以用为了改变顺序播放,例如添加年龄或其他领域
这将让你的20条记录,同样男性和女性
(SELECT * FROM members WHERE gender = 'FEMALE' limit 10)
union all
(SELECT * FROM members WHERE gender = 'MALE' limit 10)
...假设有足够数量的两个性别 – Strawberry
见http://meta.stackoverflow.com/questions/333952/why-should-i-provide-an-mcve - 对于什么似乎对我来说是一个非常简单的SQL查询 – Strawberry