【发布时间】:2016-03-03 09:06:01
【问题描述】:
我有 2 张桌子:
- r1 : 主键 k1 ;
- r2 : 二级密钥 k1(来自 r1 表)重复授权
因此,r2 可以有几行以 k1 作为辅助键,例如可以在其上执行 SUM。
我的问题是当我尝试时
select
r1.col_n,
sum(r2.col_m),
**count(*)as total**
from
r1,r2
where
r1.k1 = r2.k1
这里的 COUNT(*) 将返回出现次数或 r2.k1 我知道这是它应该做的,这就是查询的意思。
我的问题是(不要问我为什么,因为 r1 中有很多辅助键...大声笑)我希望 COUNT() 返回该联合查询中 r1.k1 的出现次数而不是 r2.k1 ...我需要 r1 上的 sum(r2.col_m) 和 count() ...
你能帮我吗?
【问题讨论】:
-
请仅使用您正在使用的 SQL 数据库标记您的问题。
-
我总是喜欢抽我的 SQL 联合 ;-)
标签: mysql sql sql-server sqlite