我有一个PHP应用程序,我从这样的方式加载MYSQL表中的数字:
DATE | BA1 | BA2 | BA3 | BA4 | BA5
08/01/2014 1 8 66 34 89
07/01/2014 45 32 1 48 67
06/01/2014 17 8 90 35 31
05/01/2014 19 12 75 31 64
04/01/2014 32 43 18 21 67
...
等等。
此时我必须找到最多12行的重复数字(12行一个接一个)。
在上面的示例中,我应该得到数字1
,8
,32
和67
(因为这些数字显示在第1,2和5行中。数字不会出现在以下12行中,然后操作必须完成。
我正在使用PHP而且我不确定在我加载MYSQL之后是否通过PHP实现这一目标的最佳方法是否可以直接在MYSQL中实现。
我该怎么做?
我必须加载数组中的所有数字(每行一个),然后执行一个函数,或者我应该只在PHP中加载一些结果?
答案 0 :(得分:1)
在php中,您可以创建2个数组,一个用于数字,一个用于相同的数字,可以说您的查询将是
if (width <= 0 )
{
width = MIN_WIDTH;
}
在php中获得结果后,您可以遍历查询结果并找到相同的数字
select * from table order by date limit 12
仅使用Mysql,您可以使用$numbers=array();
$identicals=array();
foreach($results as $result){
if (in_array($result['BA1'], $numbers)) {
$identicals[]=$result['BA1'];
}else{
$numbers[]=$result['BA1'];
}
/* same if else for BA2,BA3,BA4 and BA5 */
}
print_r($identicals);
union all