Gurda... e' un po macchinoso forse nn sapendo come fare con la query ma:

se provi vedrai che mantendo l'associazione fra i 2 nuovi array per associare poi l'idrecord

Codice PHP:
$a = array('idrecord'=> 1'a'=>1'b'=>2'c'=>3);
$b = array('idrecord'=> 2'a'=>1'b'=>2'c'=>4);
$c = array('idrecord'=> 3'a'=>1'b'=>2'c'=>5);
$d = array('idrecord'=> 4'a'=>1'b'=>2'c'=>5);
$x = array($a$b$c$d);

echo 
'array iniziale';
print 
'<pre>'print_r($x); print '</pre>';

$id = array();
$valori = array();
foreach(
$x as $key=>$record){
    
$id[$key] = $record['idrecord'];
    
    
$valori[$key] = array('a'=>$record['a'], 'b'=>$record['b'],'c'=>$record['c']);
}
echo 
'solo idrecord';
print 
'<pre>'print_r($id); print '</pre>';

echo 
' campi senza idrecord';
print 
'<pre>'print_r($valori); print '</pre>';

$new = array();
$recordDoppi = array();
foreach (
$valori as $key=>$record){ 
    echo 
'visualizzo un record nel ciclo';
    print 
'<pre>'print_r($record); print '</pre>';
    
    if(!
in_array($record,$new)){
        
$new[] = $record;
    }else{
        
$giaTrovati[]['idrecord'] = $id[$key];
    }
    
}
echo 
'record doppi';
print 
'<pre>'print_r($giaTrovati); print '</pre>';
echo 
'unici inseriti nel nuovo array 1 sola volta';
print 
'<pre>'print_r($new); print '</pre>'
In fine in $giaTrovati hai la lista di idrecord che sono gia stati passati dal ciclo e quindi quelli doppi.
In $new quelli unici coi valori.

Se modifichi i valori originali vedi come funziona.



e in