Hmmm....
This isn't a fun one to be sure.
But since you want this feature, I'll give it to you.
There is not need for a temporary table, as that would only add an unnecessary step. You'll want to use a regex to create an array to use as keys to sort a hash table with....
$stmt = "SELECT * FROM myAddressBook";
$result = ...exec stmt...
for ($i=0;$i<mysql_num_rows($result);$i++) {
$rows[$i] = mysql_fetch_array($result, MYSQL_ASSOC);
preg_match('/[0-9]\s+(.)/s',$rows[$i]['address'],$streetname);
$sortBy[$streetname[1]] = $rows[$i];
}
ksort($sortBy);
print_r($sortBy);
and that should do it.
Atleast in theory, I haven't tested it, just off the top of my head.