Database 获取最大值
我正在使用MS Access数据库。我有一个具有以下属性的表格提案: ProposalID-主键,标题,请求装载,研究ID-FK 我想运行一个SQL查询,以获取请求最高金额的候选对象。 我的问题不起作用,是:Database 获取最大值,database,ms-access,Database,Ms Access,我正在使用MS Access数据库。我有一个具有以下属性的表格提案: ProposalID-主键,标题,请求装载,研究ID-FK 我想运行一个SQL查询,以获取请求最高金额的候选对象。 我的问题不起作用,是: Select ProposalID, Title, Max(RequestedAmount) AS Budget, ResearcherID From Proposal; 我怎样才能解决这个问题。。谢谢分组使用 这是因为您在SQL SELECT语句中列出了多个未封装在MAX函数中的列。这
Select ProposalID, Title, Max(RequestedAmount) AS Budget, ResearcherID
From
Proposal;
我怎样才能解决这个问题。。谢谢分组使用
这是因为您在SQL SELECT语句中列出了多个未封装在MAX函数中的列。这就是为什么必须使用SQL GROUP BY子句的原因。在使用查询的聚合函数中,所有选定的值必须 组中的1个由 2.聚合函数 这是因为max不是唯一的聚合函数——想象一下,如果您使用的是AVG而不是max,那么对于只应用于一行的其他行,SQL必须给出哪些值?没有办法选择,这就是为什么不能表达这样的查询 但您想要的不是聚合,而是查找具有最高RequestedAmount的行。那么让我们做:
Select ProposalID, Title, RequestedAmount AS Budget, ResearcherID
From
Proposal
Where Budget >= ALL (select RequestedAmount from Proposal)
你能试试这个吗
SELECT TOP 1 Proposal.ProposalID, Proposal.Title, (Select MAX(Proposal.RequestedAmount) from Proposal) AS Budget, Proposal.ResearcherID FROM Proposal;
希望这有帮助
Select ProposalID, Title, RequestedAmount AS Bugdet, ResearcherID
From Proposal
WHERE RequestedAmount = (SELECT MAX(RequestedAmount) FROM Proposal);
你可以试试这个…@Abdullah Shoaib-它返回这个错误。。您试图执行的查询未将指定表达式“ProposalID”作为聚合函数@Abdullah Shoaib的一部分-它返回表中的所有值,而不是最大RequestedAmount和其他相应字段ProposalID、Title、,.etc@Nithin-它有效,但不幸的是,我们在Uni没有被教授Select Top子句,所以我无法使用它。。有没有其他SQL语法可以解决这个问题?@Ravi-Pal-它起作用了,但您在查询中错过了RequestedAmount:请参阅我对您答案的编辑:选择ProposalID、Title、RequestedAmount、ResearcherID From Proposal,其中RequestedAmount=选择MAXRequestedAmount From Proposal;
Select ProposalID, Title, RequestedAmount AS Bugdet, ResearcherID
From Proposal
WHERE RequestedAmount = (SELECT MAX(RequestedAmount) FROM Proposal);