MYSQL中的数据排序问题

时间:2012-04-14 19:14:35

标签: mysql sql sql-order-by

得到了一个小问题,我希望有人可以帮助我。

我在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 query no order by question

4 个答案:

答案 0 :(得分:4)

SELECT customer FROM account ORDER BY pk ASC

答案 1 :(得分:1)

SELECT * FROM account
ORDER BY pk;

答案 2 :(得分:0)

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

SELECT `customer` from `account` ORDER BY `pk` ASC

答案 3 :(得分:0)

使用此sql:

SELECT customer FROM account order by PK