Mysql SQL WHERE不过滤我的结果
我想筛选出小于3的结果,但每当我添加WHERE语句时,查询就会失败。我的问题出了什么问题?我正在使用MySQL Workbench 3.7Mysql SQL WHERE不过滤我的结果,mysql,sql,Mysql,Sql,我想筛选出小于3的结果,但每当我添加WHERE语句时,查询就会失败。我的问题出了什么问题?我正在使用MySQL Workbench 3.7 SELECT c.name, COUNT(DISTINCT s.product_id) AS veggies FROM sales AS s INNER JOIN customers AS c ON c.id=s.customer_id GROUP BY s.customer_id WHERE veggies > 2" 谢谢! Yoni其中的应该
SELECT c.name, COUNT(DISTINCT s.product_id) AS veggies
FROM sales AS s
INNER JOIN customers AS c
ON c.id=s.customer_id
GROUP BY s.customer_id
WHERE veggies > 2"
谢谢!
Yoni其中的
应该是具有:
SELECT c.name, COUNT(DISTINCT s.product_id) AS veggies
FROM sales s INNER JOIN
customers c
ON c.id = s.customer_id
GROUP BY s.customer_id
HAVING veggies > 2;
您的查询生成了语法错误(即未运行),或者在分组依据
处停止,并忽略了其中
需要在分组依据
而非其中
之后使用HAVING
:
SELECT
c.name, COUNT(DISTINCT s.product_id) AS veggies
FROM
sales AS s
INNER JOIN customers AS c ON c.id = s.customer_id
GROUP BY
s.customer_id
HAVING
veggies > 2
。(单击此链接将进入回答此问题的页面)
希望这能奏效
SELECT c.name, COUNT(DISTINCT s.product_id) AS veggies'
FROM sales AS s
INNER JOIN customers AS c
ON c.id=s.customer_id
WHERE veggies > "2"
GROUP BY s.customer_id
通过交换这两行
GROUP BY s.customer_id
WHERE veggies > "2"
分组总是在WHERE之后
除此之外,您还缺少一个大约2的开场白
WHERE veggies > 2"
以及在第一行末尾不必要的单引号(') 查询必须符合语法