は、私は1つのテーブルに多くのレコードを持っている:SQL Server 2014 Management Studioでテーブルレコードをアルファベット順にソートするにはどうすればよいですか?
私はテーブルを再作成するか、このアルファベット順にデータをソートしたい1 dog
2 cat
3 lion
:
1 cat
2 dog
3 lion
表1
Id int Unchecked
name nvarchar(50) Checked
は、私は1つのテーブルに多くのレコードを持っている:SQL Server 2014 Management Studioでテーブルレコードをアルファベット順にソートするにはどうすればよいですか?
私はテーブルを再作成するか、このアルファベット順にデータをソートしたい1 dog
2 cat
3 lion
:
1 cat
2 dog
3 lion
表1
Id int Unchecked
name nvarchar(50) Checked
別のテーブルを作成するにはあなたのテーブルから:
CREATE TABLE T1
(ID INT IDENTITY PRIMARY KEY NOT NULL,
NAME NVARCHAR(50) NOT NULL
)
GO
INSERT INTO T1 VALUES ('Dog'),('Cat'),('Lion');
SELECT ROW_NUMBER()OVER (ORDER BY NAME ASC) ID, NAME INTO T2 FROM T1 ORDER BY NAME ASC;
データベースでは、テーブルに挿入されたレコードの順序は、照会時に返される順序を必ずしも指示するものではありません。また、クラスタ化されたキーの順序もありません。 がに表示される状況では、いつも同じ結果が出ることがありますが、これは保証されておらず、いつでも変更される場合があります。
クエリの結果は特定の順序でなければならない場合、あなたはは、クエリ内ORDER BY
句(この特定の場合にORDER BY [Name] ASC
)で注文することを指定する必要があります。
上記のご意見に基づき、は答えがになります。しかし、これがSQL Server(および他のリレーショナルデータベース)の仕組みです。注文が重要な場合は、からまでのデータを照会する際に、システムにデータを挿入するときを指定します。
あなただけのテーブルのデータをソートしたい場合、あなたは、アルファベット順に従ったとしても同上のを変更するには、新しいテーブルを作成してして、新しいテーブルにレコードを移動したい場合はOrder by
Select * from table_1 order by Name
を使用注文。
SELECT RANK() OVER (ORDER BY name) AS Id, name
INTO newTable
FROM table_1
ヒント:「名前順」。 –
SELECT名FROM tblname ORDER BY名前ASC; – Xaqron
一時的な時間ではなくテーブルを再作成したい。 – nasr