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

您可以在不选择该列的情况下定义顺序。所以,用这个

SELECT `customer` from `account` ORDER BY `pk` ASC
于 2012-04-14T19:16:59.160 回答
0

使用这个 sql:

SELECT customer FROM account order by PK
于 2012-04-14T19:18:46.653 回答