Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Database 获取最大值_Database_Ms Access - Fatal编程技术网

Database 获取最大值

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函数中的列。这

我正在使用MS Access数据库。我有一个具有以下属性的表格提案: ProposalID-主键,标题,请求装载,研究ID-FK

我想运行一个SQL查询,以获取请求最高金额的候选对象。 我的问题不起作用,是:

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);