1

DSCID2 つのテーブルを結合し、 でグループ化し、グループ化された値の数を取得できる次の linq 式があります。

var qryGeoApppendCount =
              from a in append
              join g in geo
              on a.Field<string>("RNO")
              equals g.Field<string>("RNO")
              group g by g.Field<int>("DSCID") into appendGeo
              select new
              {
                DscId = appendGeo.Key,
                DscIdCount = appendGeo.Count()
              };

1より大きいカウントのみを選択することで、これをさらに一歩進める必要があります。私は次のようなことを試しました:

select new
{
    DscId = appendGeo.Key,
    DscIdCount = appendGeo.Count(n => n.Count > 1)
};

しかし、これはうまくいきませんでした。カウントが 1 を超えるレコードが返されるたびにエラーをスローできるようにする必要があるqryGeoAppendQueryため、クエリを if ステートメントでラップするのが理想的です。

4

4 に答える 4

3
var qryGeoApppendCount =
              (from a in append
              join g in geo
              on a.Field<string>("RNO")
              equals g.Field<string>("RNO")
              group g by g.Field<int>("DSCID") into appendGeo
              select new
              {
                DscId = appendGeo.Key,
                DscIdCount = appendGeo.Count()
              })
              .Where(a => a.DscIdCount > 1);
于 2010-10-25T18:32:26.533 に答える
1

できなかった...

select new
{
  DscId = appendGeo.Key,
  DscIdCount = appendGeo.Where(n => n.Count > 1).Count()
};

または、存在するかどうかを知りたいだけの場合...

select new
{
  DscId = appendGeo.Key,
  ThrowException = appendGeo.Any(n => n.Count > 1)
};
于 2010-10-25T18:32:58.643 に答える
0
var qryGeoApppendCount =
          from a in append
          join g in geo
          on a.Field<string>("RNO")
          equals g.Field<string>("RNO")
          group g by g.Field<int>("DSCID") into appendGeo
          where appendGeo.Count() > 1
          select new
          {
            DscId = appendGeo.Key,
            DscIdCount = appendGeo.Count()
          };

select の前に where 句を追加できませんか? 私の例ではうまくいきましたが、データを見ないとわかりません。

于 2010-10-25T18:39:22.430 に答える
0
"SELECT  [SubsNumber], sum([Usage_MB])/1024 as GB FROM [VASCDR].[dbo].[nrmSubsDailyMBUsage] where SubsNumber ='" + textBox1.Text.Trim() + "'" group by [SubsNumber] ;

c#を使用してそれを行う方法です

于 2013-03-12T07:08:03.040 に答える