mysql - 如何使用选择查询从表中获取数据

标签 mysql sql select sql-order-by

我不是要简单的选择查询。我有一个包含多个记录的详细表。我想以某种方式获取特定 ID 的记录。

我试过以下查询:

SELECT  `id` ,  `po_id` ,  `part_id` ,  `qty` ,  `price` ,  `status` ,  `lotid` 
FROM  `po_details` 
WHERE  `po_id` =3

它给了我以下结果:

enter image description here

现在我想要的是获取以上所有数据,但按 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`;

谢谢,

普卡奇亚

最佳答案

正如 Lieven 所说,您需要一个额外的列来进行排序。作为解决方法,您可以使用:

select p1.*
from po_details p1 join
(
    select min(id) order_id,  po_id ,  part_id 
    from po_details
    where po_id =3 
    group by part_id, po_id
) p2 on p1.part_id = p2.part_id and p1.po_id = p2.po_id
order by p2.order_id,p1.id 

关于mysql - 如何使用选择查询从表中获取数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13283099/

相关文章:

mysql查询在逗号分隔列表中搜索多个值

mysql - 用 AM 或 PM 显示的时间戳

php - 收到错误消息,由于错误,我的图像无法显示

java - 如何在 GWT 项目中使用 JPA (Hibernate) 连接到 MySQL 数据库?

mysql - 查询 : has_many where all the child fields are nil

php - 将整数内爆到 mysql select 语句中(结果重复)

php - 如何检查用户是否存在于MySQL数据库中?

MySQL 小数列的值超出范围

java - 比较 SQL 查询的值

sql server 分组结果