Mih*_*hai 30

我在http://blog.abmeier.de/php/zf2-select-distinct上找到了这个非常有用的解决方案

$sql = new Sql($adapter);
$select = $sql->select();
$select->quantifier('DISTINCT');
Run Code Online (Sandbox Code Playgroud)


And*_*rew 19

在列选择中使用表达式.

$select = new Select('tablename');
$select->columns(array(new Expression('DISTINCT(id) as id')));
Run Code Online (Sandbox Code Playgroud)

  • 还有$ select-> columns(array('id'=> new Expression('DISTINCT(id)'))); 密钥将成为别名 (7认同)

Jul*_*ian 18

虽然Mihai Dobre的答案是正确的,但我认为您应该使用框架提供的常量而不是使用字符串文字.这将使您的代码更加面向未来.

$sql->select()->quantifier(\Zend\Db\Sql\Select::QUANTIFIER_DISTINCT)
Run Code Online (Sandbox Code Playgroud)