mysql 此查询中询问的要求是否有意义?

wnavrhmk  于 2023-02-21  发布在  Mysql
关注(0)|答案(2)|浏览(195)

我已经在www.example.com上解决了99%的SQL挑战skillrack.com,这是一个练习编码的网站,这是最后一个,我甚至不能理解问题本身,我认为问题中有一个概念错误,如果你有时间,你可以阅读问题并帮助我,谢谢你阅读本文。
使用以下DDL命令创建一个名为movie的表。
表架构

create table movie(
    id int, 
    name varchar(15), 
    releaseyear int, 
    budget int
);

编写SQL查询来获取每年最高预算电影的ID、名称、发行年份和预算。
注:电影必须根据预算按降序排序。如果两部或更多电影的预算相同,则这些电影必须根据发行年份按降序排序。如果两部或更多电影的预算和发行年份相同,则这些电影必须根据其ID按降序排序。
数据库中的数据

501 Movie1 2018 850000000 
502 Movie2 2018 800000000 
503 Movie3 2018 850000000 
504 Movie4 2018 750000000 
505 Movie5 2019 850000000 
506 Movie6 2019 950000000 
507 Movie7 2019 900000000 
508 Movie8 2019 500000000 
509 Movie9 2019 850000000 
510 Movie10 2020 800000000 
511 Movie11 2020 700000000 
512 Movie12 2020 600000000 
513 Movie13 2020 990000000 
514 Movie14 2017 920000000 
515 Movie15 2017 910000000 
516 Movie16 2021 990000000

所需输出

516 Movie16 2021 990000000 
513 Movie13 2020 990000000 
506 Movie6 2019 950000000 
514 Movie14 2017 920000000 
509 Movie9 2019 850000000 
505 Movie5 2019 850000000 
503 Movie3 2018 850000000 
501 Movie1 2018 850000000

我不知道为什么电影ID与509和505一直在所需的输出,因为2019年有最大预算为95000000,如果你找到任何逻辑澄清,我非常感谢它.

kg7wmglp

kg7wmglp1#

假设您发布了完整且正确的问题文本,则所需的输出是错误的。
所需的输出应如下所示:

516 Movie16 2021 990000000
513 Movie13 2020 990000000 
506 Movie6 2019 950000000 
514 Movie14 2017 920000000 
501 Movie1 2018 850000000 
503 Movie3 2018 850000000

我不知道Skillrack,但通常类似的网站实施了一个报告系统,错误的答案或模棱两可的问题,由版主审查。
我建议你再读一遍这个问题,并确认这个要求实际上是正确的,因为你张贴它,如果它是报告的问题要审查。

4zcjmb1e

4zcjmb1e2#

(This不是答案,因为我同意你的看法,这个问题没有意义)
我建议你解决这些,如果你能比你还好:

create table movie(
    id int, 
    name varchar(15), 
    releaseyear int, 
    budget int
);

INSERT INTO movie
VALUES
  (501, 'Movie1',  2018, 850000000),
  (502, 'Movie2',  2018, 800000000),
  (503, 'Movie3',  2018, 850000000),
  (504, 'Movie4',  2018, 750000000),
  (505, 'Movie5',  2019, 850000000),
  (506, 'Movie6',  2019, 950000000),
  (507, 'Movie7',  2019, 900000000),
  (508, 'Movie8',  2019, 500000000),
  (509, 'Movie9',  2019, 850000000),
  (510, 'Movie10', 2020, 800000000),
  (511, 'Movie11', 2020, 700000000),
  (512, 'Movie12', 2020, 600000000),
  (513, 'Movie13', 2020, 990000000),
  (514, 'Movie14', 2017, 920000000),
  (515, 'Movie15', 2017, 910000000),
  (516, 'Movie16', 2021, 990000000);

问题1:列出所有的电影,按照问题中的顺序排列。
预期产出:
| 身份证|姓名|发行年份|预算|
| - ------|- ------|- ------|- ------|
| 五百一十六|电影16|小行星2021|九十九亿|
| 五一三|电影13|小行星2020|九十九亿|
| 小行星506|电影6|二○一九年|九亿五千万|
| 五一四|电影14|二〇一七年|九亿二千|
| 五一五|电影15|二〇一七年|九亿一千万|
| 五零七|电影7|二○一九年|九亿|
| 小行星509|电影9|二○一九年|85亿|
| 小五|电影5|二○一九年|85亿|
| 五零三|电影3|二〇一八年|85亿|
| 小行星501|影片1|二〇一八年|85亿|
| 小行星510|电影10|小行星2020|八亿|
| 小行星502|影片2|二〇一八年|八亿|
| 小行星504|电影4|二〇一八年|七十五万|
| 五一一|电影11|小行星2020|七亿|
| 五一二|电影12|小行星2020|六亿|
| 小行星508|电影八|二○一九年|五亿|
问题2:只列出每年预算最高的电影,按问题中的顺序排列。
预期产出:
| 身份证|姓名|发行年份|预算|
| - ------|- ------|- ------|- ------|
| 五百一十六|电影16|小行星2021|九十九亿|
| 五一三|电影13|小行星2020|九十九亿|
| 小行星506|电影6|二○一九年|九亿五千万|
| 五一四|电影14|二〇一七年|九亿二千|
| 五零三|电影3|二〇一八年|85亿|
| 小行星501|影片1|二〇一八年|85亿|
请先尝试自己解决,然后检查解决方案(还有其他方法来解决它,只是其中之一,甚至适用于任何SQL系列数据库的非常旧的版本):
DBfiddle solution

相关问题