我有一个表一堆列,但我只需要5列从表中返回它们是:SQL返回不同的结果,并且不必是不同的列
Name | Charge Code | Charge Amount | Modifier | Date
我期待根据唯一名称,费用代码,费用金额和修饰符返回字段。日期可以是记录存在的最新日期。我怎样才能做到这一点?
目前我有:
Select
Name, Charge_code, Charge_amount, Modifier, Date
From
Table1
group by
Name, Charge_code, Charge_amount, Modifier
但是当我这样做,它告诉我,因为它不是在无论是聚合函数或一组包含的日期是在选择列表中无效。我不希望通过函数引入组中的日期,那么它将返回一堆不必要的无关行。但我确实希望日期显示该人收取该金额的最新日期。
我也曾尝试
Select
Date, Distinct Name, Charge_Code, Charge_amount, Modifier
From
Table 1
任何想法将是有益的,我新。
感谢
这对于这种特殊情况非常有效(事实上应该是最优的),但我仍然鼓励使用row_number() - 它对于此查询应该同样高效,并且无限灵活。例如。如果您想从具有“max(date)”值的同一行/记录*中获得其他随机列值*,可以使用row_number()轻松完成,但不能使用简单的group by。只是说... – SlimsGhost
我同意这一点是更简单的了解我的初学者知道是怎么回事。另一个似乎也很好,但这个我至少可以说明它做得更好。谢谢 –