2010-11-18 3 views
3

Ceci est une requête MySQL assez complexe pour moi. J'ai un tableau de numéros de téléphone au format 8153216458.Comment obtenir les indicatifs régionaux disponibles?

Exemple:

TABLE: numbers(number) 
4512163215 
4512158211 
4512110579 
8812163215 
9405462136 
3021548641 

Ce que je veux est de lister les indicatifs régionaux disponibles (comme je vends des chiffres) sans les répéter, certaines requêtes est basée sur les 3 premiers chiffres & finalement commandés correctement.

Output: 
302 
451 
881 
940 

Une solution? Je ne me dérange pas si elle utilise encore la manipulation php.

Merci

Répondre

5

Essayez ceci:

select distinct substring(number, 1, 3) 
    from numbers; 

Ou, comme mentionné par Jeff dans les commentaires, left est également une option:

select distinct left(number, 3) 
    from numbers; 

Découvrez documentation for string functions sur MySQL.

+2

'gauche()' (http://dev.mysql.com/doc/refman/5.0/ en/string-functions.html # function_left) est également une option. –

+1

Merci beaucoup! Vous devriez ajouter ** AS 'numéro' ** pour les noobs comme moi pour comprendre :) – Ryan

+0

oh vous voulez dire comme dans ma réponse ci-dessous? ... celui qui n'a qu'une seule voix jusqu'à? :(lol ... tous ces experts comme pablo continuent de me battre au coup de poing –

2

quelque chose comme ça?

sélectionner chaîne distincte (nombre, 0, 3) en tant que 'nombre' de numéros par ordre numéro

Questions connexes