The following query works. Note the quotes in AND blog_id != '1'
global $wpdb;
$query = "
SELECT blog_id
FROM $wpdb->blogs
WHERE site_id = %d
AND public="1"
AND archived = '0'
AND mature="0"
AND spam = '0'
AND deleted = '0'
AND blog_id != '1'
ORDER BY blog_id ASC";
$blogs = $wpdb->get_col( $wpdb->prepare( $query, $wpdb->siteid) );
Result in a multi-site with three sites:
blogs = array (
0 => '2',
1 => '3',
)