2017-06-02 6 views
0

私はPostgreSQLにテーブル を持っていますが、問題は私のデータが適切なデータ順で整理されていないことです。postgresqlでデータの順序でテーブルを更新するにはどうすればよいですか?

たとえば、テーブルの最初の行は「2017-05-30」で、最後の行は「2017-02-23」です。 私は日付でテーブルを「ソート」したいと思います。

私は約

SELECT * FROM MY_TABLE ORDER BY DATE; 

私は私のテーブルを "更新" したいを求めていませんよ。

どうすればいいですか?

+0

リレーショナルデータベースの行は**ソートされていないため、テーブルを更新することはできません。 –

答えて

2

あなたが質問する意味でPostgreSQLのテーブルをソートすることはできません。

関係代数では、行の順序は重要ではなく、表内の行が特定の順序で格納されているという保証はありません。順序を特に指定しない限り、行が特定の順序で返されるようにする方法もありません。 ORDER BYを使用してください。それ以外の場合は、返される行の順序に頼るべきではありません。

コメントの中で指摘されているように、RDBMSは、最適化などの目的で、クエリ結果の行の順序を並べ替えることがあります。

ご希望の場合は、注文に関する行のランクを示すrow_number()を使用して新しいシーケンス番号フィールドを追加できます(たとえば、日付フィールド)。

+0

また、DBMSは、見た目に合った行を並べ替えることができます。 – david25272

関連する問題