我在工作中一直在实施超集,到目前为止我都喜欢它。但是,我有这样一张桌子:
select C.SName, C.Bname, ID
from A,B,C
where B.Bname = C.Bname and A.SName = C.SName and
A.rollNumber='11' and B.Bcode='10';
我想针对每个名字定义一个新指标,计算年轻人的数量。我的数据在MySQL数据库中,我想对于一个人,我可以编写查询:
name,age,gender
John,42,M
Sally,38,F
Patricia,27,F
Steven,29,M
Amanda,51,F
比如约翰的排。那么,我如何连续为整个表格做这件事呢?
答案 0 :(得分:0)
您的查询可能类似于
select *,
(select count(distinct all_users.name) from users all_users where all_users.age <= users.age)
FROM users
为了影子的观点 - 在大型数据集上运行会非常昂贵。
如果是这种情况,你可能想尝试在年龄上加上一个索引,或者完全计算这个数量 - 这会导致插入变得更慢。