按复合主键的一个键排序

时间:2013-08-05 18:07:19

标签: mysql sql mysql-5.0 sql-order-by

我有一个名为

的列的表
    month    year    id    updated_by
-------------------------------------------
    02     2012     1       'entity1'
    03     2012     2        'e2'

复合键为monthyearid。现在我想按升序排序id

但使用order by id不会产生id的排序结果集。

我在这里缺少什么?很高兴能帮助我找到答案。

编辑:我正在使用MySQL 5.0

1 个答案:

答案 0 :(得分:0)

评论太长了。

您说的是查询:

select *
from t
order by id

id对表格进行排序。如果是这样,这将表明MySQL中的一个错误,这是不可能的。

一些想法:

(1)也许你是在子查询中这样做的。在子查询中完成时无法保证顺序。

(2)也许您期望id的排序按综合索引的元素排序。这将是一个不正确的期望。按您要订购的商品排序。

(3)也许id被存储为字符串,但只包含数字。如果是,则'10'将在'9'之前出现。

您能说明您正在使用的查询以及您获得的结果吗?