Comment peut obtenir des valeurs uniques de la table de données à l'aide de dql?

J'ai un tableau dans lequel il y a une colonne dans laquelle les différentes valeurs sont stockées.je veux récupérer les valeurs uniques de la table à l'aide de dql.

         Doctrine_Query::create()
                    ->select('rec.school')
                    ->from('Records rec')                   
                    ->where("rec.city='$city' ")                                    
                    ->execute();        

Maintenant je ne veux que des valeurs uniques. Quelqu'un peut-il me dire comment faire...

Modifier

Structure De La Table:

CREATE TABLE IF NOT EXISTS `records` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`state` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,
 `city` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,
 `school` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,
 PRIMARY KEY (`id`)
) ENGINE=InnoDB  DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=16334 ;

C'est la Requête que je suis en utilisant:

   Doctrine_Query::create()
          ->select('DISTINCT rec.city')
          ->from('Records rec')                   
          ->where("rec.state = '$state'")                                    
             // ->getSql();
           ->execute();                 

Generting Sql pour que cela me donne:

SELECT DISTINCT r.id AS r__id, r.city AS r__city FROM records r WHERE r.state = 'AR'

Maintenant vérifier le sql généré::::
DISTINCTES est sur 'id' colonne où que je veux Distinctes sur la ville de la colonne. Quelqu'un sait comment résoudre ce problème.

EDIT2

Id est unique cause de son auto la valeur différentielle.Ya j'ai quelques doublons réels dans la ville de la colonne comme: Delhi et Delhi. Droit.. Maintenant quand j'essaie de récupérer des données à partir d'elle, je suis Delhi à deux reprises. Comment puis-je faire une requête comme ceci:

  select DISTINCT rec.city where state="xyz";

Cause cela va me donner la bonne sortie.

EDIT3:

Quelqu'un qui peut me dire comment comprendre cette requête..???

Essayez de changer select('img.*') à select('DISTINCT img.*')
DISTINCT s'applique à toutes les colonnes que vous sélectionnez. OIE SELECT DISTINCT a, b, c peut être vu comme SELECT DISTINCT(a, b, c). Est-ce un problème pour vous? Avez-vous des duplicités dans rec.city? Sont-ils réels des duplicités? (Nom de la ville serait une terrible clé, ils ne sont pas uniques par un effort.)
juste quelqu'un de vérifier le texte sous EDIT2

OriginalL'auteur Mohit Jain | 2010-01-27