【问题标题】:finding the most puplar artist sql寻找最受欢迎的艺术家 sql
【发布时间】:2021-04-08 22:28:01
【问题描述】:

我有一个名为 iTunes.csv 的 csv 文件,其中包含行

songName,artistName,albumName,ReleasedDate

我需要找到出现在大多数专辑中的艺术家。我尝试了以下方法:

$sql = "SELECT distinct (MAX(A.artistName))
        FROM iTunes A 
        WHERE (SELECT A2.artistName,A2.albumName 
                FROM iTunes A2)"; 

我的思考过程是,首先,如果我只取艺术家姓名、专辑名称行,则不会出现重复(在原版中,您在同一张专辑中有同一位艺术家和几首歌曲)。希望得到一些帮助

【问题讨论】:

  • 您如何在 CSV 文件上创建 SQL 语句?您是先将 CSV 文件导入数据库吗?
  • 我在 PHPSTORM 工作,我只是从 csv 文件中选择
  • @alon Oak:请编辑对问题的说明,而不是作为 cmets。这个问题应该是独立的,并且无需阅读 cmets 就可以理解。
  • 我同意@outis。 CSV 文件的提及是一个红鲱鱼,但您使用 SQL Server 的事实很重要,应该在问题中提及。

标签: php html sql csv


【解决方案1】:

试试这个

SELECT TOP 1 COUNT(A.albumName) AS totalAlbums , A.artistName FROM iTunes A
 ORDER BY totalAlbums DESC

【讨论】:

  • 不工作 :( ,也许我的 PHP 代码不对?在代码之后我有 $result = sqlsrv_query($conn,$sql); $row = sqlsrv_fetch_array($result); echo $row[ '艺术家姓名'];
  • @alonoak 它给你一个错误吗?转储行和结果。 var_dump($result)
  • 没有错误,页面根本没有在sql所在的标题下显示任何内容
  • @Parsa_Gholipour 大获成功!显然我的服务器没有使用“限制”功能将其更改为:“SELECT TOP 1 COUNT ...”并删除了限制 1,感谢您的帮助!
  • @alonoak:cmets 中的混淆和最初无效的答案(SQL Server 不支持LIMIT)表明了将相关信息(在本例中为 RDBMS)放入问题本身。您还可以将标签用于某些方面(例如软件环境的相关部分)。另外,请阅读并遵守homework FAQ 中的指南。
猜你喜欢
  • 2017-12-01
  • 2016-09-29
  • 1970-01-01
  • 2021-02-20
  • 2012-03-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多