SELECT SUM-SQL查询不起作用

亚伦·F

我已经基于奥运创建了一个小型数据库,用于从中运行一些sql查询。我正在尝试生成一个表格,其中显示每个国家/地区的名称以及根据来自这些国家/地区的运动员获得的金牌,银牌和铜牌的总数。这是我的关系模型视图的屏幕截图:

关系模型视图 在此处输入图片说明

这是我要运行的查询:

<h1>Olympics Database</h1>
<h3>Summary Information</h3>

    <h4>Number of Olympic Athletes from United Kingdom</h4>

<?php

    $conn = mysqli_connect('localhost', '#####', '#####') or die ('Could not connect:' . mysqli_error($conn));
    echo 'Successfully Connected. <br/>';

    mysqli_select_db($conn, '#####') or die('Database will not open');
    echo 'Database Connected. <br/> <br/>';

    $query2 = 'SELECT CountryAbbrev, (SELECT COUNT(CountryAbbrev) FROM athlete WHERE MedalID = 401 AND ath.CountryAbbrev = athlete.CountryAbbrev) AS Gold, (SELECT COUNT(CountryAbbrev) FROM athlete WHERE MedalID = 402 AND ath.CountryAbbrev = athlete.CountryAbbrev) AS Silver, (SELECT COUNT(CountryAbbrev) FROM athlete WHERE MedalID = 403 AND ath.CountryAbbrev = athlete.CountryAbbrev) AS Bronze FROM athlete AS ath';
    $result2 = mysqli_query($conn, $query2) or die ('Invalid Query');

    echo'<table><tr><th>Country Name</th><th>Gold</th><th>Silver</th><th>Bronze</th></tr>';
    $row = mysqli_fetch_row($result2);
    echo'<tr><td>' .$row[0].'</td><td>' .$row[1].'</td><td>' .$row[2].'</td><td>' .$row[3].'</td></tr>';
    echo'</table>';

    mysqli_close($conn);
    ?>

我得到的只是无效查询。按照我的关系模型视图,有谁能帮我找出如何在一个表格中显示每个国家/地区赢得的金牌,银牌和铜牌的总数?

更新:这是输出的屏幕截图: 在此处输入图片说明

赛义德巴克

由于您正在选择表中的未定义字段,因此原始SQL查询返回的查询无效。athletetable没有名为的字段MedalName

您可以使用以下SQL查询,通过了解每种奖牌类型的ID,我认为分别对于金牌,银牌和铜牌分别为1,2,3。

SELECT CountryAbbrev,
 (SELECT COUNT(CountryAbbrev) FROM athlete WHERE MedalID = 1 AND ath.CountryAbbrev = athlete.CountryAbbrev) AS Gold, 
(SELECT COUNT(CountryAbbrev) FROM athlete WHERE MedalID = 2 AND ath.CountryAbbrev = athlete.CountryAbbrev) AS Silver, 
(SELECT COUNT(CountryAbbrev) FROM athlete WHERE MedalID = 3 AND ath.CountryAbbrev = athlete.CountryAbbrev) AS Bronze 
FROM athlete AS ath

更新资料

抱歉,应该COUNT改为SUM查看此链接SUM该链接之间的区别COUNT

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章