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`)