大家好,我有問題。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