您可以使用子查询和聚合函数来根据子表的条数排序,以下是一个示例:
假设有两张表: orders
和 order_items
,其中 orders
表包含订单信息,而 order_items
表包含每个订单的订单项信息。
首先,您可以编写一个子查询来计算每个订单的订单项数量,并将其命名为 order_item_count
:
SELECT order_id, COUNT(*) AS order_item_count
FROM order_items
GROUP BY order_id
然后,您可以使用此子查询作为表,将其联接到 orders
表,使用 ORDER BY
子句根据 order_item_count
排序:
SELECT o.order_id, o.order_date, oi.order_item_count
FROM orders o
JOIN (
SELECT order_id, COUNT(*) AS order_item_count
FROM order_items
GROUP BY order_id
) oi ON o.order_id = oi.order_id
ORDER BY oi.order_item_count DESC
这将按照订单的订单项数量降序排列查询结果。
标签:count,item,orders,订单,order,条数,sql,子表,id From: https://blog.51cto.com/u_16173281/7261009