《SQL 進階教程》 自鏈接排序

子查詢所作的,是計算出價格比本身高的記錄的條數並將其做爲本身的位次排序

-- 自鏈接實現排序功能
SELECT P1.name,
P1.price,
(SELECT COUNT(P2.price)
FROM Products P2
WHERE P2.price > P1.price) + 1 AS rank_1
FROM Products P1
ORDER BY rank_1;查詢


SELECT P1.name,
P1.price,
(SELECT COUNT(DISTINCT P2.price)
FROM Products P2
WHERE P2.price > P1.price) + 1 AS rank_1
FROM Products P1
ORDER BY rank_1;

-- 排序:使用自鏈接SELECT P1.name,MAX(P1.price) AS price,COUNT(P2.name) +1 AS rank_1FROM Products P1 LEFT OUTER JOIN Products P2ON P1.price < P2.priceGROUP BY P1.nameORDER BY rank_1;

相關文章
相關標籤/搜索