【发布时间】:2012-11-08 05:36:28
【问题描述】:
我不是要求简单的选择查询。我有一个包含多条记录的详细表。我想以某种方式获取特定 id 的记录。
我尝试过以下查询:
SELECT `id` , `po_id` , `part_id` , `qty` , `price` , `status` , `lotid`
FROM `po_details`
WHERE `po_id` =3
它给了我以下结果:
现在我想要的是获取所有上述数据,但按 id 排序,然后按 partid 排序,所以结果会是这样的
id partid
---- ------
11 27
15 27
12 43
16 43
13 102
14 15
17 24
谁能帮助我?我的查询需要进行哪些更改才能获得我想要的结果?
编辑
我已经尝试过这个查询,但它给了我相同的结果
SELECT `id` , `po_id` , `part_id` , `qty` , `price` , `status` , `lotid`
FROM `po_details`
WHERE `po_id` =3
ORDER BY `id` , `part_id`;
谢谢,
卡奇亚
【问题讨论】:
-
您说您想先按 ID 订购,然后按 partID 订购,但您的预期结果却表明 (只有 13 个不合适)。你能澄清一下吗?
-
删除最后一条评论。实际上,我不知道应该如何确定您的排序顺序(假设这些输出是正确的)。您的前 6 个结果似乎按
partID排序。最后两个可能是任何一个,但为什么 id 的 14 和 17 在您的结果中排在最后? -
我想要的是,选择给定 id 的所有部件 id,但以用户插入它的方式,如果任何部件 id 重复,那么它们就会聚集在一起。可能现在你更清楚了。
-
@pkacchia - 在这种情况下,您将需要一个额外的列来排序,无论是插入时间、自制增量数字还是标识列。
标签: mysql sql select sql-order-by