列の値に応じて、テーブルから特定の行数を取得します

クリス

DataTable特定の列の値に応じて、プログラムで行数を制限する方法についてのガイダンスを探しています。

take(n)特定の行数を取得する方法同様です。

// Returns first 10 rows
dt.Rows.Cast<DataRow>().Take(10).CopyToDataTable();

私がDataTable4行で持っていたとしましょう


+ ----------------------------------- + ------------ + 
| Col1 | Col2 | 
+ ----------------------------------- + ------------ + 
| フレッド| | 
+ ----------------------------------- + ------------ + 
| ビル| | 
+ ----------------------------------- + ------------ + 
| ビル| | 
+ ----------------------------------- + ------------ + 
| BOB | | 
+ ----------------------------------- + ------------ +

このシナリオでtake(2)は2行が返されますが、Col1の値は行2と3で同じであるため、同様の機能で3を返すようにします。

これはループで最速でしょうか:

var count = 0;

for(int i=0; i < dt.Rows.Count; i++)
{
    // add to new DataTable

    if(i > 0 && Convert.ToString(dt.Rows[i]["Col1"]) != Convert.ToString(dt.Rows[i-1]["Col1"]))
    {
        // check next row
        count++;
        if (count == 10) break;
    }
}

または別のより簡単な解決策はありますか?

特定の数に制限された個別の値を探していますが、すべての重複を取得することもできます。

促します

コメントで、「個別の値を特定の数に制限したいのですが、すべての重複を取得します」と述べました。したがって、取得する値の明確な数が制限より大きくなるまで、行を取得する必要があるだけです。そのためには、ハッシュセットが最も簡単なオプションです。複数回追加した場合でも、それぞれの個別の値は1回だけ自動的に設定されます。

var set = new HashSet<string>();
var limit = 2;

var resultingRows = sequence.TakeWhile(row => { set.Add(row[col]); return set.Count <= limit; });

シーケンスが具体化され、その列によって順序付けられていることを確認してください。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

関数に応じてmysqlテーブル列の値を取得します

分類Dev

複数の値と等しい列の値に応じて、SQLテーブルからデータを取得する方法はありますか?

分類Dev

以前の値に応じてテーブルから行を削除します

分類Dev

値に応じて配列から特定の行を取得します

分類Dev

ABAP Open SQLの列値に応じて、DBテーブルから1行のみを選択します

分類Dev

特定の基準に応じて、あるテーブルから別のテーブルに関連するレコードを取得します

分類Dev

子テーブルのフィールド値に応じてDBから行を選択します

分類Dev

他の頻度に応じて1つのテーブルから列を選択しますか?

分類Dev

SQLクエリは同じ列の同じテーブルから特定の値を除外しますか?

分類Dev

同じ列に両方の変数があるテーブルからすべての行を取得します

分類Dev

1つのテーブルからすべての列の値を取得し、2番目のテーブルから他の列の値を取得します

分類Dev

同じテーブルの別の列に基づいて、特定の列の数を取得します-Power BI

分類Dev

特定の子の値に応じてjson値を取得します

分類Dev

SQLは、複数のクエリを使用して、同じテーブルから(同じ列から)複数の値を取得します

分類Dev

列と行の位置も動的である動的Webテーブルから列と行の名前に基づいて特定の値を取得します

分類Dev

MySQL:別のテーブルの最初の値に応じてテーブルの値を選択します

分類Dev

SQL-同じテーブルの別の行に基づいて対応する列を取得します

分類Dev

MySQLを使用して列の値に応じて行数を取得する方法

分類Dev

ページ上のすべてのテーブルの特定のセルから値を取得します

分類Dev

テーブルの列に応じて新しい列を作成します

分類Dev

別のテーブルの値に応じて行を削除します

分類Dev

データテーブルをループして、各行から2つの特定の値を取得します

分類Dev

他の列の値に応じてデータフレームの列の値を変更します(値はリストから取得されます)

分類Dev

特定の値に基づいてSQLテーブルから行を取得します

分類Dev

複数の基準に応じて、あるテーブルの特定の列から別のテーブルにレコードを挿入する

分類Dev

SQL-特定の値に基づいて個別のテーブルから列をCOUNTします

分類Dev

しきい値に応じてテーブルの色を変更します

分類Dev

特定の列の値に応じて値を乗算します

分類Dev

SQLServerの条件に基づいてテーブルから列の値を取得します

Related 関連記事

  1. 1

    関数に応じてmysqlテーブル列の値を取得します

  2. 2

    複数の値と等しい列の値に応じて、SQLテーブルからデータを取得する方法はありますか?

  3. 3

    以前の値に応じてテーブルから行を削除します

  4. 4

    値に応じて配列から特定の行を取得します

  5. 5

    ABAP Open SQLの列値に応じて、DBテーブルから1行のみを選択します

  6. 6

    特定の基準に応じて、あるテーブルから別のテーブルに関連するレコードを取得します

  7. 7

    子テーブルのフィールド値に応じてDBから行を選択します

  8. 8

    他の頻度に応じて1つのテーブルから列を選択しますか?

  9. 9

    SQLクエリは同じ列の同じテーブルから特定の値を除外しますか?

  10. 10

    同じ列に両方の変数があるテーブルからすべての行を取得します

  11. 11

    1つのテーブルからすべての列の値を取得し、2番目のテーブルから他の列の値を取得します

  12. 12

    同じテーブルの別の列に基づいて、特定の列の数を取得します-Power BI

  13. 13

    特定の子の値に応じてjson値を取得します

  14. 14

    SQLは、複数のクエリを使用して、同じテーブルから(同じ列から)複数の値を取得します

  15. 15

    列と行の位置も動的である動的Webテーブルから列と行の名前に基づいて特定の値を取得します

  16. 16

    MySQL:別のテーブルの最初の値に応じてテーブルの値を選択します

  17. 17

    SQL-同じテーブルの別の行に基づいて対応する列を取得します

  18. 18

    MySQLを使用して列の値に応じて行数を取得する方法

  19. 19

    ページ上のすべてのテーブルの特定のセルから値を取得します

  20. 20

    テーブルの列に応じて新しい列を作成します

  21. 21

    別のテーブルの値に応じて行を削除します

  22. 22

    データテーブルをループして、各行から2つの特定の値を取得します

  23. 23

    他の列の値に応じてデータフレームの列の値を変更します(値はリストから取得されます)

  24. 24

    特定の値に基づいてSQLテーブルから行を取得します

  25. 25

    複数の基準に応じて、あるテーブルの特定の列から別のテーブルにレコードを挿入する

  26. 26

    SQL-特定の値に基づいて個別のテーブルから列をCOUNTします

  27. 27

    しきい値に応じてテーブルの色を変更します

  28. 28

    特定の列の値に応じて値を乗算します

  29. 29

    SQLServerの条件に基づいてテーブルから列の値を取得します

ホットタグ

アーカイブ