SELECT *
FROM ( SELECT * ,
r = ROW_NUMBER() OVER ( PARTITION BY MobilePhone ORDER BY MobilePhone )
FROM dbo.v_candidates
) t
WHERE t.r = 1
这么说吧我有一张表 其中手机号码 相同的 我只取排序后的第一条 ,只要手机这个字段相同 其他相不相不同管我只取第一条。
10 个解决方案
#1
最好用LINQ TO OBJECT 不喜欢TO SQL
#2
List<items> gcs = GetItems();
var gs = from g in gcs
group g by g.store_id into g
select g;
var model=gs.Where(m=>m.tel=='111111').FirstOrDefault();
if(model!=null)
#3
v_candidates.GroupBy(p=>p.MobilePhone).FirstOrDefault();
#4
你这个明显不对啊
#5
var query=v_candidates.GroupBy(p=>p.MobilePhone)
.Select(s=>s.OrderBy(o=>o.MobilePhone).FirstOrDefault());
.Select(s=>s.OrderBy(o=>o.MobilePhone).FirstOrDefault());
#6
我要的结果是个LIST<v_candidates> 的结果集。。你这个明显不对。
#7
这个你应该用Disctinct而不是group by
LIST<v_candidates> list;
list=list.Distinct(new v_candidatesComparer()).ToList();
public class v_candidatesComparer : IEqualityComparer<v_candidates>
{
public bool Equals(v_candidates t1, v_candidates t2)
{
return (t1.MobilePhone == t2.MobilePhone);
}
public int GetHashCode(v_candidates t)
{
return t.ToString().GetHashCode();
}
}
#9
select后面 加个 ToList就行啊
List<v_candidates> query=....ToList();
#10
定义LIST<..>
public IList<..> GetList()
ver query = v_candidates.ToList().OrderbyDescending( o = > o.MobilePhone).ToList();
#1
最好用LINQ TO OBJECT 不喜欢TO SQL
#2
List<items> gcs = GetItems();
var gs = from g in gcs
group g by g.store_id into g
select g;
var model=gs.Where(m=>m.tel=='111111').FirstOrDefault();
if(model!=null)
#3
v_candidates.GroupBy(p=>p.MobilePhone).FirstOrDefault();
#4
v_candidates.GroupBy(p=>p.MobilePhone).FirstOrDefault();
#5
var query=v_candidates.GroupBy(p=>p.MobilePhone)
.Select(s=>s.OrderBy(o=>o.MobilePhone).FirstOrDefault());
.Select(s=>s.OrderBy(o=>o.MobilePhone).FirstOrDefault());
#6
var query=v_candidates.GroupBy(p=>p.MobilePhone)
.Select(s=>s.OrderBy(o=>o.MobilePhone).FirstOrDefault());
我要的结果是个LIST<v_candidates> 的结果集。。你这个明显不对。
#7
这个你应该用Disctinct而不是group by
LIST<v_candidates> list;
list=list.Distinct(new v_candidatesComparer()).ToList();
public class v_candidatesComparer : IEqualityComparer<v_candidates>
{
public bool Equals(v_candidates t1, v_candidates t2)
{
return (t1.MobilePhone == t2.MobilePhone);
}
public int GetHashCode(v_candidates t)
{
return t.ToString().GetHashCode();
}
}
#8
#9
var query=v_candidates.GroupBy(p=>p.MobilePhone)
.Select(s=>s.OrderBy(o=>o.MobilePhone).FirstOrDefault());
我要的结果是个LIST<v_candidates> 的结果集。。你这个明显不对。
select后面 加个 ToList就行啊
List<v_candidates> query=....ToList();
#10
定义LIST<..>
public IList<..> GetList()
ver query = v_candidates.ToList().OrderbyDescending( o = > o.MobilePhone).ToList();