Microsoft Sql Server Management Studio在选择列表中无效
我试图从我的表中搜索并使用group by,但我在执行查询时收到错误。下面是我的查询,我得到的错误:Microsoft Sql Server Management Studio在选择列表中无效
select * from loans where ac_no='100001' group by ac_no, branch
和错误:
Msg 8120, Level 16, State 1, Line 1
Column 'loans.gl_no' is invalid in the select list because it is not contained in either an aggregate function or the GROUP BY clause.
请,我究竟做错了
如果你想聚集的东西...
select ac_no, branch, count(*)
from loans
where ac_no = '100001'
group by
ac_no
, branch
如果你只是想选择行,你不需要group by
select *
from loans
where ac_no = '100001'
如果您尝试选择不同的行...
select distinct *
from loans
where ac_no = '100001'
好吧。非常感谢。 –
我试图返回从数据库返回的最小值,以防用户多次出现。 –
@fagbemiayodele对于那个例子,你可能想要基于某个'date'列而不是'min()'值的第一个或最后一个记录?在这种情况下,我会建议'选择top 1 * from ... where ... order by createddate desc'。 – SqlZim
什么是你想在第一时间做什么? – SqlZim
当您使用GROUP BY时,不能使用SELECT *。你必须指定未在GROUP BY子句中列出的任何列(即MIN(),MAX()或其他聚合)发生什么情况,因为GROUP BY输出的一行将会有许多可能的值) – pmbAustin