YII 2:如何编写不同的SQL查询?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (22)

希望在YII 2中实现以下SQL查询,但没有成功-

SELECT  count(DISTINCT(company_name)) FROM clients

这将给出唯一公司名称的总数

SELECT  (DISTINCT(company_name,client_code)) FROM clients

这个应该显示company_nameclient codeid(PK)

如何做到这一点?

提问于
用户回答回答于

获得唯一company_name,

$query = new Query;
    $my = (new yii\db\Query())
    ->select(['company_name',])
    ->from('create_client')
    ->distinct()
    ->count();
  echo $my;   

和不同company_name 和 client_code :

$query = new yii\db\Query();
            $data = $query->select(['company_name','client_code'])
        ->from('create_client')
        ->distinct()
        ->all();
        if($data) {
         foreach($data as $row)
        {
        echo 'company_name: ' . $row['company_name'] . ' client_code: ' . $row['client_code'] . '<br>';
            }
        }
用户回答回答于

尝尝这个。

$total = YourMOdel::find()->select('company_name')->distinct()->count();

搜索模型

public function search($params)
    {
       $query = YourMOdel::find()->select('company_name')->distinct();
       // or
      $query = YourMOdel::find()->select(['company_name', 'client_code'])->distinct();

       $query->orderBy('id desc');


        $dataProvider = new ActiveDataProvider([
            'query' => $query,
        ]);
   ...
}

扫码关注云+社区