2016-12-02 10 views
-1

enter image description hereテーブルの一番上に行を挿入する必要があります。それを行う方法はありますか?sqlの行の先頭に挿入

私は「注文する」と認識しており、それはうまくいきません。私は実際のテーブルを変更する必要があります(Order Byを提案しないでください。ここで見つけたスレッドのほとんどはそれを示唆しています)。

この列には日付が含まれています。データが入力されると、テーブルはすでにdescによって順序付けられています。毎日、私は現在の日付を持つ行を追加し、それに基づいて残りのデータを設定する必要があります。その列は一番上になければなりません。

私はID列を持っています。主キーではありません。それは1、2、3になります... 追加される新しい日付は、IDが1である行1に挿入するのが理想的です(これは絶対に重要ではありません)。私は大丈夫ですが、IDはどこにでもありますが、日付は降順でなければなりません。

編集:挿入前後の表のスクリーンショットを追加しました。テーブルには300行のデータがあります。ご覧のとおり、挿入後、現在の日付が下に移動します。私はそれを変えたい。

助けてください。あなたが保証されていないされている決して返される行の順序に起因することにより、順序を使用しなければならない理由のおかげ

+0

操作の前後のサンプル・テーブル・データを数行追加します。 – jarlh

+0

操作の前後にテーブルデータのスクリーンショットを追加しました。実際の表形式でデータが必要でしたか? –

+2

データは順序なしで格納されます。実際に最初または最後の行はありません。特定の順序で行を読み取るには、ORDER BYを使用します。 IDは単なるIDであり、何も意味するものではありません。しかし、行間のIDを変更すると、外部キーやものが混乱してしまいます。 – jarlh

答えて

0

以前に尋ねた質問に対して次のような応答を読めば、それは意志詳細:したがって

Default row order in SELECT query

だけデータをテーブルに挿入します。バックグラウンドでSQLが実行する処理は、あなたとは無関係です。検索する順序は関連しています。したがって、Order Byは、必要な順序でデータを取得する方法です。データが入力されたときに

テーブルがすでにDESCによって注文された:私はあなたが何を意味を理解するのに苦労してい

1)データの挿入

INSERT INTO [TABLENAME] VALUES ([ID], [risk_date_day], [Risk1], [Risk2], [Risk3], [Risk4], [Risk5], [Grand Total], [1Per], [2Per], [3Per], [4Per], [5Per]); 
--Naturally replace the values between square brackets with the correct values for data entry. 

2)これは、最新の日付にしてデータを返します

SELECT [ID], [risk_date_day], [Risk1], [Risk2], [Risk3], [Risk4], [Risk5], [Grand Total], [1Per], [2Per], [3Per], [4Per], [5Per] 
FROM [TABLENAME] 
ORDER BY [risk_date_day] DESC; 

データを取得:

2段階のプロセスでなければなりませんトップ。

実際に、特定の日に入力できる日付が必ずしも最新の日付でない場合がありますが、これは機能しません。その場合は、DateOfEntryというフィールドを追加し、そのフィールドを使用してOrder Byを行うことをお勧めします。

+0

質問が重複している場合は、そのようにマークしてください。 – Takarii

+0

こんにちはLandy81、 "データが入力されたときにテーブルが既にdescで整理されている"と言うとき... 別のテーブルからこのテーブル(A)を作成しました。私が他のテーブルからデータを照会しているとき、私は最初のテーブルAに順番に(日付降順に)挿入しました。今、私はそれに行を追加するとき、それはコースの底に行く。それは私が防止しようとしていたものでした –

+0

@FariyaFarhadそれはするでしょう、そして、これはあなたと無関係でなければなりません。それがどのように格納されるかはSQLの問題です。select文を使用してデータベースからデータを戻す方法についてのみ心配する必要があります。 – Landy81