我有下表.
mysql> select * from consumer9;
+------------+--------------+-------------------+
| Service_ID | Service_Type | consumer_feedback |
+------------+--------------+-------------------+
| 100 | Computing | -1 |
| 35 | Printer | 0 |
| 73 | Computing | -1 |
| 50 | Data | 0 |
+------------+--------------+-------------------+
Run Code Online (Sandbox Code Playgroud)
我想GROUP BY在我的项目中使用子句.我在使用查询时遇到错误:
SELECT Service_ID, Service_Type, SUM(consumer_feedback)
FROM consumer9
GROUP BY Service_ID
WHERE Service_Type=Printer;
Run Code Online (Sandbox Code Playgroud)
错误
错误1064(42000):您的SQL语法有错误; 检查与您的MySQL服务器版本对应的手册,以便在第1行的'where Service_Type = Printer'附近使用正确的语法
a'r*_*a'r 30
以下查询应该有效.
select Service_ID, Service_Type, sum(consumer_feedback)
from consumer9
where Service_Type=Printer
group by Service_ID, Service_Type;
Run Code Online (Sandbox Code Playgroud)
请记住,where子句在group by子句之前,并且select部分中的所有非聚合术语必须出现在group by子句中.
使用该having子句代替where
SELECT Service_ID, Service_Type, SUM(consumer_feedback)
FROM consumer9
GROUP BY Service_ID
HAVING Service_Type='Printer';
Run Code Online (Sandbox Code Playgroud)
问候.
| 归档时间: |
|
| 查看次数: |
54376 次 |
| 最近记录: |