Zend Framework: выделять отдельные строки двумя полями

У меня в dbtable

поле 1 поле 2
1         2
2         3
2         3
2         2
1         1
2         2

я хочу получить

поле 1 поле 2
1       2
2       3
2       2
1       1

Пытался

$select = $this->_dbTable->select()->from($this->_dbTable,array("DISTINCT(field_1) как field_1","DISTINCT(field_2) как field_2"));
$select = $this->_dbTable->select()->from($this->_dbTable,array("DISTINCT(field_1, field_2) как field_1, field_2"));

PS: Почему этот Zend Framework такой сложный?!

3 ответа

Решение

Как предположил Саши Кант, это может сделать группа с помощью field_1, field_2. Вот как это сделать с помощью Zend DB:

$select = $this->_dbTable->select()->from($this->_dbTable, array("field_1", "field_2"))
                                   ->group(array("field_1", "field_2"));

Попробуй это:

Select 
field1,
field2
from mytable
group by field1, field2

Вы можете использовать Zend_Db_Expr тоже

Попробуй это:

$select = $this->_dbTable->select()->from($this->_dbTable, new Zend_Db_Expr('DISTINCT(field_1) as field_1'));
Другие вопросы по тегам