• 获取用户发布消息的指定消息id的总和点赞数

    • Yii

         $productIds = ['2260', '2262', '2263', '2268', '2269'];
      $plSql = Like::find()->where([
      'pId' => $pIds,
      'isLike' => 1
      ])->select('pId,count(id) c')
      ->groupBy('pId')->createCommand()->getRawSql(); $messages = Message::find()
      ->innerJoin("({$plSql} ) as pl", "msg.id = pl.pId")
      ->alias('msg')->groupBy('msg.customerId')
      ->select('msg.customerId,SUM(pl.c) as s')
      ->createCommand()->getRawSql();
    • MySQL
      SELECT
      `msg`.`customerId`,
      SUM(pl.c) AS s
      FROM
      `message` `msg`
      INNER JOIN (
      SELECT
      `pId`,
      count(id) c
      FROM
      `like`
      WHERE
      (
      `pId` IN (
      '',
      '',
      '',
      '',
      ''
      )
      )
      AND (`isLike` = 1)
      GROUP BY
      `pId`
      ) AS pl ON msg.id = pl.customerId
      GROUP BY
      `msg`.`customerId`

yii的多表查询的更多相关文章

  1. Yii框架 多表查询实例

    Yii框架多表查询实例:总共分为两个步骤(以下的代码我全部都写在model中):1.先在主表model中声明关联表中所需要查询的字段. public $surveyls_description; // ...

  2. yii学习笔记(7),数据库操作,联表查询

    在实际开发中,联表查询是很常见的,yii提供联表查询的方式 关系型数据表:一对一关系,一对多关系 实例: 文章表和文章分类表 一个文章对应一个分类 一个分类可以对应多个文章 文章表:article 文 ...

  3. sql这两个表和查询的组合yii通过使用数据库查询

    sql两个表的组合查询  使用 join on 比如:两个表查询: select u.username, t.title from user u join task t on u.id = t.id; ...

  4. sql语句中3表删除和3表查询

    好久没来咱们博客园了,主要近期在忙一些七七八八的杂事,包括打羽毛球比赛的准备和自己在学jqgrid的迷茫.先不扯这些没用的了,希望大家能记得小弟,小弟在此谢过大家了. 回归正题:(以下的sql是本人在 ...

  5. django(3) 一对多跨表查询、ajax、多对多

    1.一对多跨表查询获取数据的三种形式:对象.字典.元组 例:有host与business两张表,host与business的id字段关联,business在host表中的对象名是b,  通过查询hos ...

  6. Mysql常用表操作 | 单表查询

    160905 常用表操作 1. mysql -u root -p 回车 输入密码   2. 显示数据库列表 show databases     3. 进入某数据库 use database data ...

  7. Oracle_多表查询

    SQL多表查询 等值和不等值连接查询 从多个表中获取数据:如果在查询的时候,直接从多个表中获取数据.没有添加条件判断,会出现"笛卡尔积"错误 笛卡尔积错误 笛卡尔集会在下面条件下产 ...

  8. mysql,SQL标准,多表查询中内连接,外连接,自然连接等详解之查询结果集的笛卡尔积的演化

    先附上数据. CREATE TABLE `course` ( `cno` ) NOT NULL, `cname` ) CHARACTER SET utf8 NOT NULL, `ctime` ) NO ...

  9. MyBatis实现关联表查询

    一.一对一关联 1.1.提出需求 根据班级id查询班级信息(带老师的信息) 1.2.创建表和数据 创建一张教师表和班级表,这里我们假设一个老师只负责教一个班,那么老师和班级之间的关系就是一种一对一的关 ...

随机推荐

  1. idea出现灰色或者黄色的波浪线如何去除

    1.File--setting--Editor-Inspections-Geneal-Duplicated Code 去除 主要是类中出现太多的重复代码,idea自动提示.

  2. Python关于%matplotlib inline

    Python关于%matplotlib inline %matplotlib inline 是一个魔法函数(Magic Functions).官方给出的定义是:IPython有一组预先定义好的所谓的魔 ...

  3. ccf 201612-3 权限查询

     ccf 201612-3 权限查询 解题思路: 建立一个二维矩阵存储权限和角色 还差30分emmm #include<iostream> #include<cstring> ...

  4. ubuntu下tomcat运行不起来解决

    报错Neither the JAVA_HOME nor the JRE_HOME environment variable is definedAt least one of these enviro ...

  5. WebView的用法

    基本用法 布局文件配置WebView <WebView android:id="@+id/wv_news_detail" android:layout_width=" ...

  6. 利用Viewpager和Fragment实现UI框架的搭建实现

    package com.loaderman.uiframedemo; import android.os.Bundle; import android.support.v4.app.Fragment; ...

  7. sql中对查询出的某个字段转换查询

    <select id="queryCmonByLanId" parameterType="java.util.Map" resultType=" ...

  8. 八十三:redis之redis的字符串、过期时间、列表操作

    字符串操作 设置值 set key value 设置有空格的值,加引号 set username 'hello world' 获取值 get key 删除值:del key 清除所有内容:flusha ...

  9. ABAP Field+offset字符串截取

    *删除字符串末尾的字符 DATA:str TYPE string VALUE 'abc,defg,', sub_str TYPE string, num TYPE i. WRITE:/ str. nu ...

  10. Linux:lvm磁盘分区,动态扩容

    一.lvm磁盘分区: 1,查看新增的磁盘,需要使用root权限 fdisk -l 看到有一个新增的100G磁盘 2,对磁盘进行分区 fdisk /dev/xvdb 1,输入:n 表示创建一个新的分区( ...