0

作成された順序でデータをクエリするにはどうすればよいですか?

このテーブルには日付作成フィールドがありません。

4

3 に答える 3

7

挿入時刻や挿入順序に関するその他のメタデータを格納するフィールドがない場合、この情報を取得するための信頼できる方法はありません。

クラスタ化されたインデックスキーに依存する可能性がありますが、これらは保証されていません。IDENTITYフィールドやその他の自動生成されたフィールドもありません。

明確にするために、IDENTITYフィールドは自動インクリメントを行いますが...

  • 明示的な値を挿入できますIDENTITY_INSERT
  • 値を再シードして再利用を開始できます
  • IDフィールドの一意性の強制は組み込まれていません

IDフィールドがPKである場合は、おそらくそれを使用して大まかなアイデアを得ることができます。

SELECT *
FROM MyTable
ORDER BY IdField ASC

あなたのコメントによると、フィールドはGUIDです。GUIDその場合、 sは本質的にランダムで非シーケンシャルであるため、信頼できる順序を返す方法はありません。

于 2012-07-10T15:56:00.810 に答える
0

NEWSEQUENTIALID()を使用できます。

于 2012-07-11T06:48:56.597 に答える
0

私は同じ問題に直面していたので、この質問に出くわしました。これが私のために働いた解決策です。

テーブルを変更してIDENTITY(1,1)列を追加すると、そのID列は、追加すると既存の行に自動的に入力されます。レコードが挿入された順序になります。

私の場合は機能しましたが、すべての場合に機能するかどうかはわかりません。

于 2018-01-20T12:27:49.860 に答える