简体   繁体   中英

Building a select distinct on mysql ( zend_db)

I HAVE THE FOLLOWING TABLE, I WOULD LIKE TO GET to do a select distinct on the the column [code], i don't need to get the "A" three times.

[ ID ]   [ CODE ]     [ LIBELLE ]
1         A        LIBELLE1  
2         B        LIBELLE2
3         C        LIBELLE3
4         A        LIBELLE4  
5         A        LIBELLE5
6         D        LIBELLE6 

I want the result as following

[ ID ] [ CODE ] [ LIBELLE ]
1         A        LIBELLE1  
2         B        LIBELLE2
3         C        LIBELLE3
6         D        LIBELLE6 

Just add

group by code 
ORDER BY code ASC

at end of your sql query

example

select * from table
group by code 
ORDER BY code ASC
 SELECT Min(Id) Id, Code, MIN(Libelle) Libelle
 from table
 group by code

If you are looking for Zend_Db_Select usage, here it is

$db->select()->from('table', array(
    'Id' => new Zend_Db_Expr('Min(ID)'),
    'Code' => 'CODE',
    'Libelle' => new Zend_Db_Expr('Min(LIBELLE)')
))->group('CODE');

$db should be your Zend_Db_Adapter .

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM