【发布时间】:2022-09-23 00:07:23
【问题描述】:
我想打印前 40 行,但结果中有很多重复的行。 如何确保不会发生这种情况?
WITH film AS (SELECT
m.rental_rate AS rental_price,
m.length as dur,
m.rating AS age_rating
FROM movie AS m
WHERE m.rental_rate >2
ORDER BY dur DESC
),
duration AS (SELECT
f.rating as age_rating,
MIN(f.length) AS min_length,
MAX(f.length) AS max_length,
AVG(f.length) AS avg_length,
Min(f.rental_rate) AS min_rental_rate,
Max(f.rental_rate) AS max_rental_rate,
AVG(f.rental_rate) AS avg_rental_rate
FROM movie AS f
GROUP BY age_rating
ORDER BY avg_length ASC)
SELECT
film.age_rating,
duration.min_length,
duration.max_length,
duration.avg_length,
duration.min_rental_rate,
duration.max_rental_rate,
duration.avg_rental_rate
FROM film INNER JOIN duration ON film.age_rating = duration.age_rating
LIMIT 40 ;
-
检查 DISTINCT 如何在 SELECT 中工作,另请参阅:DISTINCT examples
-
尝试使用 DISTINCT 进行修补。原来没有重复的开始......谢谢!
标签: sql postgresql temp-tables