今天在公司写代码的时候,遇到一个sql语句构建问题. 情形是这样的: 我需要获取不同小组下前N条记录. select top 10 * from dbo.Topic where GroupID in (60034,60037) and State=0  order by CrtTime desc 很明显,这是错的,不仅没group by,获取出来的还是按两个小组的创建时间的前10条数据. 可是,用group by的话,它有个很不通人性的特性.即是——凡是在group by后面出现的字段,必须同时…