作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我的表在 field2
中包含重复值,而 field1
具有我想要在查询中保留的值。
field1 field2
Bob 2
Bob 2
Bob 3
Bob 3
此查询使用 group by 子句:
select field2
rom table
group by field2
众所周知,我不能在选择中包含 field1
。我需要在输出中包含 field1
。不知道如何实现这一点。
最佳答案
您想从 field1
中保留什么?最小值?
select field2, min(field1) field1
from table
group by field2
也许是最大值?
select field2, max(field1) field1, count(field2) total
from table
group by field2
你必须对它进行聚合,否则它就没有意义。考虑以下数据:
field1 field2
Bob 2
Jim 2
Tim 2
好的,所以您需要 field1
和 field2
。您可以按 field2
进行分组,以便在输出中提供包含 field2
的单行。您不能将 (Bob,Jim,Tim) 中的所有 3 个都包含在该行中,这就是为什么您必须对它进行聚合以逻辑上仅选择一个值(或多个值的聚合,例如数字列的平均值)的原因)。
关于sql-server - Group By 包含非聚合字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12965596/
我是一名优秀的程序员,十分优秀!