首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Mysql显示名称,SUM( AND ),其中SUM小于210,SUM(SUM)大于或等于210

Mysql显示名称,SUM( AND ),其中SUM小于210,SUM(SUM)大于或等于210
EN

Stack Overflow用户
提问于 2013-07-29 06:57:43
回答 1查看 136关注 0票数 1

Mysql表

代码语言:javascript
复制
Name   | Amount
------------
name1  | 150
name1  | 90
name2  | 100
name2  | 110
name3  | 10

结果需要这样的东西

代码语言:javascript
复制
Name   | SUM(Amount)
------------
name1  | 240
name2  | 210

试过

代码语言:javascript
复制
 SELECT Name, SUM(Amount)
 WHERE Amount < 210 AND SUM(Amount) >= 210
 GROUP BY Name

但是得到错误的SQLSTATE[HY000]: General error: 1111 Invalid use of group function

如果我删除了AND SUM(Amount) >= 210代码

试着想..。我是否需要像最初获得SUM(Amount) AS SumAmount一样,在同一个查询中而不是在AND SUM(Amount) >= 210中使用AND SumAmount >= 210?但是两个SELECT在一个查询中.

有点像?

代码语言:javascript
复制
 SELECT SUM(Amount) AS SumAmount
 WHERE Amount < 210
 GROUP BY Name

 SELECT Name, SUM(Amount)
 WHERE SumAmount >= 210
 GROUP BY Name

拜托,建议

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-07-29 06:59:17

使用HAVING子句过滤聚合结果,如SUM()等。

代码语言:javascript
复制
SELECT Name, SUM(Amount)
FROM   tableName
WHERE  Amount < 210
GROUP  BY Name
HAVING SUM(Amount) >= 210
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17917754

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档