我有一个查询与几个聚合函数,然后几个分组列.我想从组中取出一个分组列,并对它具有的所有VARCHAR值执行某种聚合"连接".(理想情况下,在一个新的运输分离列表中).
这是我的查询,我注意到我想要这样做:
SELECT rownum, F.*
FROM (SELECT
c.logical_type "MerchantType",
c.merchant_id "MerchantID",
c.m_name "MerchantName",
m.m_name "TransferredBy", /* <----- Make this aggregate */
SUM(DECODE(b.ba_price,null,0,DECODE(b.BILL_SRVC_ID,'CREDITCHANGE',0,b.ba_price))) "TotalValue",
sum(DECODE(b.ba_price,null,0,DECODE(b.BILL_SRVC_ID,'CREDITCHANGE',b.ba_price,0))) "LimitChange",
SUM(DECODE(b.ba_status,'bdone',1,0)) "TxnCount",
sum(to_number(decode(substr(b.ba_merchant_freetext,1,10),'Commission',substr(b.ba_merchant_freetext, 12,(instr(b.ba_merchant_freetext,';',1,1)-12))))) "Commission"
FROM bill_auth0 b,
merchant0 m,
merchant0 c
WHERE
b.srvc_prod_id = 'TRANSFER'
AND b.ba_channel = 'WPSS'
AND b.ba_status IN ('bdone')
AND b.merchant_id = m.merchant_id
AND b.customer_id = c.merchant_id
AND b.ba_timestamp BETWEEN to_date( '11/01/2009', 'MM/DD/YYYY' )
AND to_date( '11/17/2009', 'MM/DD/YYYY' )+1
GROUP BY
c.logical_type,
c.merchant_id,
c.m_name,
m.m_name /* <-- Remove from Grouped …Run Code Online (Sandbox Code Playgroud) 在分析域对象的生命周期时,聚合是对象分组的基本元素.我在C#中实现aggregetes时遇到问题.
一个简短的例子,有几个类,会非常有帮助.或者这个主题的任何链接.
如何聚合(使用linq)数据集的一列的值,而另一列是相同的.
例如,我的专栏是
Row1 Row2
2 3
4 5
6 7
2 2
6 4
7 4
2 4
Run Code Online (Sandbox Code Playgroud)
我需要这样的东西
Row1 Row2
2 9
4 5
6 11
7 4
Run Code Online (Sandbox Code Playgroud)
编辑:"Row2"中的值是"Row1"的编号.所以(例如:2)的值必须聚合到一个新的数据表中,其中只有(2)的单个条目. 如果问题含糊不清,我很抱歉.
我想打开光栅文件(ASCII或TIFF格式),聚合它们的单元格,并在此操作之后计算这个新光栅文件和另一个光栅文件中值之间的相关性.不幸的是我不知道我的命令有什么问题 - 我收到一条错误消息:
x <- GDAL.open('~/Pulpit/dods/karol/TVDI 113_121/TVDI_kamp_evi_TRANSF.asc')
Run Code Online (Sandbox Code Playgroud)
CPL错误4:`〜/ Pulpit/dods/karol/TVDI 113_121/TVDI_kamp_evi_TRANSF.asc'在文件系统中不存在,并且不被识别为支持的数据集名称.
.local(.Object,...)出错:文件系统中不存在`〜/ Pulpit/dods/karol/TVDI 113_121/TVDI_kamp_evi_TRANSF.asc',并且不会将其识别为受支持的数据集名称.
我有这个型号:
class LogBook_audit(models.Model):
id = models.AutoField(primary_key=True)
logbook = models.ForeignKey(LogBook, verbose_name='Logbook Control No.')
username = models.ForeignKey(User, null=True, blank=True, verbose_name='Username')
status = models.CharField(null=False, blank=False, max_length=40, choices=STATUS_TYPE, default=u'CHECKING REQUIREMENTS', verbose_name='Status')
log_in = models.DateTimeField(default=lambda:datetime.now(), verbose_name='Work start')
Run Code Online (Sandbox Code Playgroud)
我正在尝试创建一个查询集来查找log_in以获取此类特定日志和状态的最新用户.
undolink(request, pk):
undo_rec = LogBook.objects.get(pk=pk)
latest_user = LogBook_audit.objects.filter(logbook_id=pk, status=undo_rec.status).aggregate(Max('log_in'))
...
Run Code Online (Sandbox Code Playgroud)
但是latest_user给了我一个最新的log_in格式.我以为我可以使用latest_user.username但失败了.有没有办法找到该用户名?任何指南都非常感谢.
我希望有人可以帮我解释一下demeter法则.如果我有一个我假设的类是聚合根,并且其中有一个子类集合,那么通过聚合根访问它们来更新这些子类的属性是不合法的吗?
例如
public class Company
{
// company has a number of employees
public List<Employee> Employees {get; set;}
}
public class Employee
{
// each employee has a lastname
public int Id {get; set;}
public string LastName {get; set;}
// other properties of employee
}
Run Code Online (Sandbox Code Playgroud)
假设我有一个客户端正在访问公司类,首先它会违反demeter法则.
Employee e = aCompany.Employees.Where(e => e.Id == 1).Single();
e.LastName = "MarriedName";
Run Code Online (Sandbox Code Playgroud)
或者这应该总是委托给公司
public class Company
{
public UpdateEmployeeLastName(int employeeId, string newName)
{
Employee e = Employees.Where(e => e.Id == employeeId).Single();
e.LastName = newName;
} …Run Code Online (Sandbox Code Playgroud) 一直在寻找,但到目前为止没有运气.
这是数据框.
> test = data.frame(x = c(1,1,2,2,3,3), y = c('a','b','c','d','e','f'))
> test
x y
1 1 a
2 1 b
3 2 c
4 2 d
5 3 e
6 3 f
Run Code Online (Sandbox Code Playgroud)
正在寻找一种方法来聚合,使得具有相同x值的y被形成为列表或向量.
就像是
x y
1 1 a,b
2 2 c,d
3 3 e,f
Run Code Online (Sandbox Code Playgroud)
尝试'c'但结果不是预期的结果
> aggregate(y~x, data = test, FUN = 'c')
x y.1 y.2
1 1 1 2
2 2 3 4
3 3 5 6
Run Code Online (Sandbox Code Playgroud)
"list"似乎有效,但它将字符转换为因子.
> ss = aggregate(y~x, data = test, FUN = …Run Code Online (Sandbox Code Playgroud) 在Python Pandas中,我有一个包含以下格式的列和记录的数据框:
text source senti
-------------------------------
great food site1 0.6
awful staff site4 -0.4
good chef site8 0.4
average food site6 0.05
bad food site2 -0.8
Run Code Online (Sandbox Code Playgroud)
文本列基本上是对某事的描述或意见.我想得出关于数据集的平均情绪的一些结论,输出就像这样.
sentiment count
----------------
positive 2
neutral 1
negative 2
Run Code Online (Sandbox Code Playgroud)
我们将'senti'计为正数,负数或中性.
在满足以下条件时,情绪被计为每个组:
非常感谢提前
我需要一个存储过程从一个表中选择行,做一个Group By,Sum,然后将结果与他们的价值观另一个表。
我想当rfds_processing_id(类似于订单号)匹配现有行时,我必须进行合并,而在不匹配时,则进行插入。我目前在控制器中的Linq中执行类似的操作,但是无法在SQL中弄清楚。
ALTER PROCEDURE [dbo].[ProposedSummary]
(@rfds_processing_id UNIQUEIDENTIFIER = NULL)
AS
BEGIN
SET NOCOUNT ON
INSERT INTO Summary_Proposed(model, type, elevation, qty)
SELECT model, type, elevation, SUM(qty)
FROM Current_Antenna C
WHERE C.rfds_processing_id = @rfds_processing_id
GROUP BY C.model
END
Run Code Online (Sandbox Code Playgroud)
这就是我在Controller中执行的操作,并将其发送到View
var summary_c = current
.Where(x => !string.IsNullOrWhiteSpace(x.model) && (x.rfds_processing_id == ))
.GroupBy(x => x.model)
.Select(x =>
{
var c = new
{
model = x.Key,
type = x.Select(y => y.type).First(),
elevation = x.Select(y => y.elevation).First(),
qty …Run Code Online (Sandbox Code Playgroud) 我试图通过汇总一列从熊猫数据框中排除不必要的行。数据框如下所示:
df1=pd.DataFrame({'date':[20191121]*10,
'time':[100000]*10,
'last':[64131,64131,64130,64130,64130,64131,64131,64132,64130,64130],
'vol':[1]*10})
print(df1)
date time last vol
0 20191121 100000 64131 1
1 20191121 100000 64131 1
2 20191121 100000 64130 1
3 20191121 100000 64130 1
4 20191121 100000 64130 1
5 20191121 100000 64131 1
6 20191121 100000 64131 1
7 20191121 100000 64132 1
8 20191121 100000 64130 1
9 20191121 100000 64130 1
Run Code Online (Sandbox Code Playgroud)
我想要这样的数据框:
df2=pd.DataFrame({'date':[20191121]*5,
'time':[100000]*5,
'last':[64131,64130,64131,64132,64130],
'vol':[2,3,2,1,2]})
print(df2)
date time last vol
0 20191121 100000 64131 2
1 20191121 100000 64130 3 …Run Code Online (Sandbox Code Playgroud)