得到了一个小问题,我希望有人可以帮助我。
我在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值时,它的顺序正确。
有什么想法吗?
答案 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