2.7 每组任取一条记录
SQL
WITH m AS(
SELECT *, row_number() OVER(PARTITION BY year(OrderDate),month(OrderDate)) r
FROM Orders
WHERE Amount>35500)
SELECT *
FROM m
WHERE r=1
SPL
A | |
---|---|
1 | =file(“Orders.ctx”).open().cursor(;Amount>35500) |
2 | =A1.groups(month@y(OrderDate):monthes; CustomerID,OrderDate,Amount,Quantity,EmployeeID,EmployeeName,ShipVia) |
3 | =A2.run(OrderDate=date@o(OrderDate)) |
以下是广告时间
对润乾产品感兴趣的小伙伴,一定要知道软件还能这样卖哟性价比还不过瘾? 欢迎加入好多乾计划。
这里可以低价购买软件产品,让已经亲民的价格更加便宜!
这里可以销售产品获取佣金,赚满钱包成为土豪不再是梦!
这里还可以推荐分享抢红包,每次都是好几块钱的巨款哟!
来吧,现在就加入,拿起手机扫码,开始乾包之旅

嗯,还不太了解好多乾?
对润乾产品感兴趣的小伙伴,一定要知道软件还能这样卖哟性价比还不过瘾? 欢迎加入好多乾计划。
这里可以低价购买软件产品,让已经亲民的价格更加便宜!
这里可以销售产品获取佣金,赚满钱包成为土豪不再是梦!
这里还可以推荐分享抢红包,每次都是好几块钱的巨款哟!
来吧,现在就加入,拿起手机扫码,开始乾包之旅

嗯,还不太了解好多乾?
不太理解 groups 的 @b 这个选项,等同于 group.new()?另外,像 T.group().new(c1,c2) 的时候为什么可以直接引用 T 的字段名(c1,c2)呢?是 ~.c1 的简化写法?
groups@b 就是结果集中不生成分组键,现在内部是用 groups.new 实现的,也不会因为少生成字段而变快,所以打算取消这个选项了。
后一个说法是对的,group.new(…)时,…对应的是当前分组子集,~.c1 相当于 ~(1).c1,所以可以用。