【问题标题】:invalid in the select list because it is not contained in either an aggregate function or the GROUP BY clause在选择列表中无效,因为它不包含在聚合函数或 GROUP BY 子句中
【发布时间】:2011-05-22 12:55:27
【问题描述】:
use qcvalues_test
go

select [finalConc]
      ,[rowid] from qvalues where rowid in (select rowid from batchinfo where instrument = 'TF1') 
and name='qc1'
and compound='etg'
group by finalConc
having COUNT(rowid)=2

为什么会出现这个错误

消息 8120,第 16 级,状态 1,第 3 行 列 'qvalues.rowid' 在 选择列表,因为它不是 包含在任一聚合中 函数或 GROUP BY 子句。

【问题讨论】:

标签: sql sql-server


【解决方案1】:

嗨,赫罗 要解决此问题,您需要更换 选择 [finalConc] ,[rowid] 来自 qvalues 和 选择 [finalConc] ,Count([rowid]) 来自 qvalues

【讨论】:

    【解决方案2】:

    错误信息不言自明 - 您需要使用 aggregate function

    SELECT
        [finalConc],
        MIN([rowid]) AS minRowId,
        MAX([rowid]) AS maxRowId
    FROM ...
    

    【讨论】:

    • +1 鉴于 OP 的 HAVING 子句,这是唯一明智的答案。
    猜你喜欢
    • 2011-07-04
    • 2013-08-17
    • 2014-11-02
    相关资源
    最近更新 更多