Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/58.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 正在计算按分组的行数_Mysql - Fatal编程技术网

Mysql 正在计算按分组的行数

Mysql 正在计算按分组的行数,mysql,Mysql,我有一个这样的查询,和COUNT(lsa)=6位显然是无效的语法。我完全迷路了 我想要实现的是一个列表,按lsa之和排序,按uid分组,仅当该uid有6个条目时,即在该“组”中。我该怎么做呢?按聚合进行过滤是有效的,但这需要进入HAVING子句,而不是WHERE中使用 SELECT id,name,SUM(`lsa`) AS lst FROM table_a AS sn, table_b AS fb WHERE sn.uid=fb.uid AND COUNT(`lsa`

我有一个这样的查询,
和COUNT(lsa)=6
位显然是无效的语法。我完全迷路了


我想要实现的是一个列表,按
lsa
之和排序,按
uid
分组,仅当该uid有6个条目时,即在该“组”中。我该怎么做呢?

按聚合进行过滤是有效的,但这需要进入
HAVING
子句,而不是
WHERE
中使用

SELECT id,name,SUM(`lsa`) AS lst FROM 
    table_a AS sn,
    table_b AS fb 
WHERE sn.uid=fb.uid 
  AND COUNT(`lsa`)=6 
GROUP BY sn.uid 
ORDER BY SUM(`lsa`)
相反

SELECT id,
       name,
       SUM(`lsa`) AS lst
FROM   table_a AS sn
       JOIN table_b AS fb
         ON sn.uid = fb.uid  /*Using Explicit Join syntax*/
GROUP  BY sn.uid,            /*And avoiding MySQL GROUP BY extension*/
          id,
          name
HAVING COUNT(`lsa`) = 6
ORDER  BY SUM(`lsa`)