0

誰かが私を助けてくれることを望んでいる小さな小さな問題がありました。

MYSQLには次のデータセットがあります。

SELECT * FROM account;

pk  |  customer
1   |   1
2   |   0
3   |   1

必要なのは顧客列だけですが、上記と同じ順序である必要があります。例:

customer
1
0
1

ただし、次のコマンドを実行しようとすると、次のようになります。

SELECT customer FROM account

customer
0
1
1

私はすでに運がなくて次のことを試しました:

SET @rownum=0;
SELECT @rownum:=@rownum+1 as rank, customer FROM account

rank |  customer
1    |   0
2    |   1
3    |   1

更新:重要なものを追加するのを忘れました。主キーがvarcharであり、状況によっては整数ではない可能性があるため、主キーによる順序付けに依存することはできません。

データベースにデータが挿入された順序が必要です。varchar値を返す同じクエリを実行すると、正しい順序になります。

何か案は?

回答:SQLクエリは質問ごとに並べ替えられません

4

4 に答える 4

4
SELECT customer FROM account ORDER BY pk ASC
于 2012-04-14T19:16:12.197 に答える
1
SELECT * FROM account
ORDER BY pk;
于 2012-04-14T19:16:42.453 に答える
0

このSQLを使用します:

SELECT customer FROM account order by PK
于 2012-04-14T19:18:46.653 に答える
0

その列を選択せず​​に順序を定義できます。だから、これを使う

SELECT `customer` from `account` ORDER BY `pk` ASC
于 2012-04-14T19:16:59.160 に答える