Azure-Sql-Database
列 ‘Comments.Text’ 在選擇列表中無效,因為它不包含在聚合函式或 GROUP BY 子句中
這個問題:Reason for Column 在選擇列表中無效,因為它既不包含在聚合函式中,也不包含在 GROUP BY 子句中 | Stack Overflow已經很好地解釋了問題的根源,甚至建議使用 max aggregate 作為解決方案。但是,讓我們舉個例子
group_id item_id comment -------------------------------- 1 abc "blah-blah" 1 def "tral-la-lah" 1 ghi 2 jkl 2 mno 2 pqr
我理解解決方案:我必須拿一個項目來代表分組
max(item_id)
。但是如何獲取所選項目的評論?它如何幫助我接受相應的評論?編輯
一切都像這個問題一樣:列的原因在選擇列表中無效,因為它既不包含在聚合函式或 GROUP BY 子句中 | 堆棧溢出。我在這裡解決的唯一複雜問題是
comment
我想與max(item_id) group by group_id
.我正在使用這個野獸,哪些工具和技術用於建構數據資源管理器?| 元堆棧交換
你的問題不是很清楚,但我認為你想要這樣的東西:
select group_id, item_id, comment from ( select group_id, item_id, comment, row_number() over (partition by group_id order by item_id) as rn from the_unknown_table ) t where rn = 1;
(您沒有說明您的 DBMS,所以這是 ANSI SQL)
SQL Fiddle 展示:http ://sqlfiddle.com/#!12/a8471/1