我是sql查询和执行查询的新手:
我在网上查了一些例子但没有成功。
这是查询
SELECT m.genre, m.movie_title, m.release_year, m.movie_length
FROM MOVIE m GROUP BY m.genre, m.movie_title, m.release_year,m.movie_length
ORDER BY m.movie_length asc;
如果有人可以解释我如何获得价值观,我将非常感谢您的帮助。
谢谢
答案 0 :(得分:2)
SELECT m.genre, m.movie_title, m.release_year, m.movie_length
FROM MOVIE as m order by m.movie_length desc limit 0,1;
通过DESC添加订单后,将限制仅获得1条记录。 0表示从0索引开始,1表示定义记录数。
答案 1 :(得分:1)
要获得给定流派的所有电影的最大长度,您可以使用MAX()聚合函数。所有你需要做的就是按类型分组。这有点棘手,因为您不能只是跳入并选择电影标题,否则它将无法正确分组。首先获取它的流派和最大电影长度:
SELECT m.genre, MAX(m.movie_length) AS longestMovie
FROM movie m
GROUP BY m.genre;
完成后,您可以将其加入桌面并获取最多电影:
SELECT m.genre, m.movie_title, m.release_year, m.movie_length
FROM movie m
JOIN (SELECT m.genre, MAX(m.movie_length) AS longestMovie
FROM movie m
GROUP BY m.genre) t
ON t.genre = m.genre AND t.longestMovie = m.movie_length;
这是一个有效的SQL Fiddle。
答案 2 :(得分:0)
SELECT m.genre, m.movie_title, m.release_year, m.movie_length
FROM MOVIE AS m ORDER BY m.movie_length DESC LIMIT 1;
这应该是你正在寻找的。 p>