现在的位置: 首页 > 综合 > 正文

sql中解决 distinct与groupby语句的不唯一性

2012年12月09日 ⁄ 综合 ⁄ 共 279字 ⁄ 字号 评论关闭

测试环境mssql2005

有时候我们需要选择一列为唯一值,办法有distinct和groupby。但是我们选择的列是多列,那么如果是非聚合函数,结果可能是不唯一的。

 

所以采用虚列是有意义的。

 

借用网上的例子:

如何select出来一个虚列并且用null填充
 
假设有表table里面只有一列t
select  distinct t, 0 as c1, 'abc' as c2,'' as c3 from table
选出来结果是
t   c1   c2    c3
1   0   abc 
2   0   abc
3   0   abc
 
这样我们就能够获得t的唯一值,而且还能虚出列c1,c2,c3,这样变相解决一部分distinct与groupby的应用问题

抱歉!评论已关闭.