【发布时间】:2014-12-18 17:30:13
【问题描述】:
在 MySQL 的 More Join operations 下的 SQLzoo 上存在问题。 问的问题是
按演员人数排列 1978 年上映的电影。
给出的表格如下,ord 的值为 0 或 1,1 为明星角色。
movie | actor | casting
id id movieid
yr name actorid
title ord
budget
gross
director
我按如下方式编写了我的 SQL 查询,SQLzoo 并没有告诉我我有正确的答案,但我相信我的查询是正确的。有人可以验证这一点并可能告诉我如何在没有子查询的情况下做到这一点吗?谢谢!
SELECT DISTINCT
movie.title, f.num_actors
FROM
(SELECT
casting.movieid,COUNT(casting.actorid) AS num_actors
FROM
casting
GROUP BY
casting.movieid ) f
JOIN
movie ON f.movieid = movie.id
WHERE
movie.yr = 1978
ORDER BY
2 DESC
【问题讨论】:
-
你为什么要使用
ORDER BY 2 DESC?这是否意味着您正在尝试按SELECT语句中的第二列排序?我开始学习 SQL,如果这是一个新手问题,很抱歉。 -
@user1330974 是的,按 n 排序只会按最终表格中的第 n 列排序
标签: mysql sql sql-server sqlite