0
我的MySQL的知识是有限的,以最基础的,但今天我需要做一个复杂的任务,我不知道如何做到以下几点:如何根据比较将整个结果查询划分为多个类别?
我有一个包含三个表列:SEX
,SITUATION
和NUMBER
。这张表格在这里给出了一个关于有多少人是男性/女性,如果他们仍然活跃并且他们的部门中有多少人的想法(这些是其他专栏但是使用它们是没有用的)。
所以,如果我参加了一个随机行从该表中,我能得到
(
[SEX] => 'FEMALE',
[SITUATION] => 'ACTIVE',
[NUMBER] => 198
)
我的目标是,当我做我的SQL请求时,它给回4“组”包含的总和“可能性:有多少人是活跃的妇女,退休妇女,活跃的男性和退休老人我想结果应该是这样的:
(
[active_women] => 8452,
[retired_women] => 123,
[active_men] => 9523,
[retired_men] => 876
)
我这是怎么处理的结果,使用PHP,如果它可以帮助你:
// $results contains the result of "SELECT SEX, NUMBER, SITUATION FROM table";
foreach($results as $i => $result) {
if($result->SEX === 'MAN') {
if($result->SITUATION === 'ACTIVE') {
$stat1['active_men'] += $result->NUMBER;
}
else {
$stat1['retired_men'] += $result->NUMBER;
}
}
elseif ($result->SEX === 'WOMAN') {
if($result->SITUATION === 'ACTIF') {
$stat1['active_women'] += $result->NUMBER;
}
else {
$stat1['retired_women'] += $result->NUMBER;
}
}
}
任何帮助是值得欢迎的,谢谢你提前
是的我认为这是正确的答案,你只需要显示在PHP的结果,而不是试图再次做所有的处理。只需循环播放结果并显示即可! –
所以我尝试了你的代码,它*几乎*做我所需要的,但是它计数'女性','积极'等迭代,但不是数字。是否有可能在总结与它们相关的“NUMBER”(在我的例子中,“NUMBER”等于198) – Jaeger
@Jaeger我想知道NUMBER的意义是什么以及您是否想要或者只是数人。感谢您的澄清。 –