假设我有一个mySQL表(用户),其中包含以下字段:
userid
gender
region
age
ethnicity
income
Run Code Online (Sandbox Code Playgroud)
我希望能够根据用户输入的数量返回总记录数.此外,他们还将提供额外的标准.
在最简单的例子中,他们可能会要求1000条记录,其中600条记录应该是性别="男性",400条记录中性别="女性".这很简单.
现在,再往前走一步.假设他们现在想要指定Region:
GENDER
Male: 600 records
Female: 400 records
REGION
North: 100 records
South: 200 records
East: 300 records
West: 400 records
Run Code Online (Sandbox Code Playgroud)
同样,只应返回1000条记录,但最终必须有600名男性,400名女性,100名北方人,200名南方人,300名东方人和400名西方人.
我知道这不是有效的语法,但使用伪mySQL代码,它有希望说明我正在尝试做什么:
(SELECT * FROM users WHERE gender = 'Male' LIMIT 600
UNION
SELECT * FROM users WHERE gender = 'Female' LIMIT 400)
INTERSECT
(SELECT * FROM users WHERE region = 'North' LIMIT 100
UNION
SELECT * FROM users WHERE region = 'South' LIMIT 200
UNION
SELECT * FROM users …Run Code Online (Sandbox Code Playgroud)