問題タブ [rowcount]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
7 に答える
147629 参照

sql - PostgreSQL でテーブルの行数をすばやく検出する方法

パーセンテージを計算するには、テーブル内の行数を知る必要があります。合計数が定義済みの定数より大きい場合は、その定数値を使用します。それ以外の場合は、実際の行数を使用します。

使えますSELECT count(*) FROM table。しかし、定数値が500,000で、テーブルに5,000,000,000行ある場合、すべての行をカウントすると多くの時間が無駄になります。

一定値を超えたらすぐにカウントを止めることはできますか?

指定された制限を下回っている限り、正確な行数が必要です。それ以外の場合、カウントが制限を超えている場合は、代わりに制限値を使用して、できるだけ早く答えを求めます。

このようなもの:

0 投票する
1 に答える
1547 参照

nhibernate - ToRowCountQueryはグループ化を無視しているようです

通常のクエリからrowcount-queryを作成しようとしていますが、結果のSQLにGROUP BYがないため、カウントが間違っているようです。誰かが私が間違っていることを知っていますか?

最初のクエリ:

結果のSQL:

では、rowcount-queryのGROUP BYはどこにありますか?

UPDATE 結局のところ、ToRowCountQueryは、元のクエリから選択とグループ化を取り除きます。では、どうすればこのようなことができますか?

Firoの答えは正しい方向への一歩のようですが、選択リストに示されている最小/最大フィールドを含むすべてのフィールドのカウントが必要なため、CountDistinctを使用できません。その次に、CountDistinctは引数としてIProjectionを取りません:

更新2

フィロの答えのリンクに基づいて、私はこの代替案を思いついた。query切り離されたQueryOverオブジェクトになるように変更しました。次に、私はこれを試しました:

ただし、これによりArgumentOutOfRangeException

0 投票する
1 に答える
3645 参照

hibernate - PostgreSQLトリガーと休止状態を使用した場合の予期しない行数

Hibernateを使用するアプリケーションがあり、テーブル内で変更または削除されたすべての行を履歴テーブルにコピーするトリガーを含める必要があります。PostgreSQLトリガーを含めた後、アプリケーションは正しく機能せず、次のエラーが発生します。

org.springframework.orm.hibernate3.HibernateOptimisticLockingFailureException:バッチ更新が更新[0]から予期しない行数を返しました。実際の行数:0; 予想:1; ネストされた例外はorg.hibernate.StaleStateExceptionです:バッチ更新は更新[0]から予期しない行数を返しました。実際の行数:0; 予想:1

しばらくグーグルした後、Hibernateがsql updateによって影響を受ける行をチェックし、トリガーも更新を行ったために返された行が予期されたものではないため、このエラーが発生することを発見しました。これは、トリガーの行数をオフにすることで修正できることを確認しました。しかし、PostgreSQLには「setnocounton」の代替手段がないようです。

以下に示すようなPostgreSQLのトリガーで問題を解決するにはどうすればよいですか?

ありがとう


更新:テーブルは次のようになります:

0 投票する
2 に答える
293 参照

c# - データを取得するためにDataGridViewをフォームに追加する必要があるのはなぜですか?

バックグラウンドワーカースレッド内でデータグリッドビューを反復処理してExcelエクスポートを作成するには、datagridviewを別のビューにコピーする必要がありました。

コピーは、エクスポート中にユーザーが元のデータグリッドビューに変更を加えることができるようにするために作成されました。

そこで、(プログラムで)新しいDataGridViewを作成し、元のDataTableのコピーを新しいDataGridViewのDataSourceプロパティに配置しました。ただし、フォームのControls(list)プロパティにdatagridviewを追加しない場合でも、RowCountは0に等しいことがわかりました...

誰かがこれを説明できますか?

注:DataTableのコピーは、Columnsのcopy()を含む新しいDataTableです。

0 投票する
1 に答える
799 参照

sap-ase - 行数削除クエリの使用中にデッドロックに陥る

クエリがデッドロック状態に陥って終了することがあります.何が問題なのかわかりません..助けてください!

0 投票する
1 に答える
798 参照

sqlite - sqliteの行を数えるINSERTSELECT

2つのsqliteテーブルがあり、一方のテーブルにはもう一方の外部キーがあります。

私はintoINSERTでやっています。SELECTb

行がbに挿入されたかどうかを知るにはどうすればよいですか?挿入されたばかりの値に対してaを実行SELECTし、それらが存在する天気をチェックすることは、かなり非効率的なようです。

0 投票する
3 に答える
853 参照

php - PHP PDO ステートメントは、SELECT で間違った行数を返しますか?

コードのこの部分が返さtrueれるべきではないのに返されるのはなぜですか?

すでに登録されているフィールドにユーザー名を入力すると、true が返され、次のように出力されます。

ただし、登録されていないユーザー名を入力すると、true が返され、上記の行が出力されます。これがなぜなのか、どのように修正できるのかわかりません。

PHP のマニュアルrowCount()に、クエリに問題があると記載されていることは知っていSELECTますが、クエリの影響を受ける行数を返す回避策が見つかりませんSELECT

0 投票する
2 に答える
9594 参照

oracle - ステートメントのトリガー内でステートメントの影響を受ける行数を取得する方法

テーブル(customersと呼ばれる)でINSERTUPDATEまたはDELETE操作が実行されるたびに起動するステートメントレベルのトリガーがあります。挿入/更新/削除された行数を含むメッセージを(DBMS_OUTPUTに)表示したい。

トリガーステートメントごとに1つのメッセージが必要です。たとえば、「4行がcustomersテーブルに挿入されました」。

トリガー宣言の内側、つまり以下のコードのXXXから、トリガーステートメントの影響を受ける行数にアクセスするにはどうすればよいですか。

ドキュメントに何も見つかりません。助けていただければ幸いです。

0 投票する
2 に答える
1886 参照

python - SQLite データベースに挿入された行数が負です

SQLiteコードからデータベースに新しいレコードを挿入しようとしていPythonます。

私のコードは、挿入されたレコードの負の数 (-5141) を報告します。

私のデータベースは空だったので、コマンドラインから挿入されたレコードの数を知ることができました

select count(*) from items;

4866

何が悪いのか教えていただけますか。2 つの値が一致しないのはなぜですか。また、負の値になるのはなぜですか?

0 投票する
2 に答える
2912 参照

vb.net - MultiPage Gridview で行数を取得しますか?

次のことをしようとすると:

私は常に 50 を取得します。これは私のページのサイズです。その 1 ページに表示されているレコードだけでなく、返されたすべてのレコードの数を取得するにはどうすればよいですか?

データソースで Selected イベントも試しました。

しかし、私は次のエラーが発生します:

オブジェクト参照がオブジェクト インスタンスに設定されていません。この行: 行 85: Dim totalRecordCount As Integer = dt.Rows.Count

更新: 私はそれを理解します: