0

たとえば、次のようにグループ化されたすべての名前を表示するのに問題があります。

これは私のテーブルです:

IMEPRIIMEK  REZULTAT  EKIPA
------------------------------
Ela         256       e13e01
Joe         218       e13e01
Tim         198       e13e01
Dan         265       e13e02
Jim         256       e13e02
Kim         215       e13e02

私が作成したコードを使用すると、次の結果が得られます。

#  EKIPA  TOTAL  IMEPRIIMEK
-------------------------------
                 Dan
1  e13e02  736   Jim
                 Kim
------------------------
                 Ela
2  e13e01  672   Joe 
                 Tim

これが私のコードです:

<?php

$con = mysql_connect("localhost","root","");
if (!$con)
  {
  die('Could not connect: ' . mysql_error());
  }

mysql_select_db("paradox", $con);

$result2 = mysql_query("SELECT NazivEkipe, ImePriimek, Rezultat,
                        SUM(Rezultat) AS 'total'
                        FROM tekmovanje
                        WHERE NazivEkipe='e13e01' OR NazivEkipe='e13e02' OR NazivEkipe='e13e03' OR NazivEkipe='e13e04' OR NazivEkipe='e13e05'
                        GROUP BY NazivEkipe
                        ORDER BY total DESC") or die(mysql_error());
$rank = 0;
while($row = mysql_fetch_array ($result2))
{
$rank++; 
?>

<tr align="center" valign="middle">
     <td rowspan="3" align="center" valign="middle"><?php echo $rank; ?></td>

     <td rowspan="3" align="center" valign="middle" style="font-weight: bold; color: #008AFF;"><?php echo $row['total']; ?></td>

     <td rowspan="3" align="center" valign="middle"><?php echo $row['NazivEkipe']; ?></td>
<tr align="center" valign="middle">
  <td align="center" valign="middle" ><?php echo $row['ImePriimek']; ?></td>
</tr>

<?php
}
?>

</table>

私を助けてください、あなたの答えに感謝します。

PS:これは個人的な使用のためであり、オンラインにはなりません。そのため、SQLインジェクションやPDOMywiiでこれを行うことは気にしません。

4

3 に答える 3

1

テーブルタグがありません<table>

これを試して

   SELECT Ekipa , ImePriimek, Rezultat,
                    SUM(Rezultat) AS total
                    FROM tekmovanje
                    WHERE Ekipa in ('e13e01','e13e02','e13e03','e13e04','e13e05')
                    GROUP BY Ekipa 
                    ORDER BY total DESC

デモはこちら

ImePriimekまたは、グループ化してすべてのユーザーを表示する場合はこれ

   SELECT Ekipa , ImePriimek, Rezultat,
                    SUM(Rezultat) AS total
                    FROM tekmovanje
                    WHERE Ekipa in ('e13e01','e13e02','e13e03','e13e04','e13e05')
                    GROUP BY Ekipa ,ImePriimek
                    ORDER BY total DESC

デモはこちら

EDIT .私はこれがあなたが欲しいものだと思います

これを試して

    SELECT Ekipa , group_concat(ImePriimek) as IMEPRIIMEK, Rezultat,
                    sum(Rezultat) AS total
                    FROM tekmovanje
                    WHERE Ekipa in ('e13e01','e13e02','e13e03','e13e04','e13e05')
                    GROUP BY Ekipa
                    ORDER BY total DESC

結果

   _______________________________________
  |  EKIPA  IMEPRIIMEK    REZULTAT TOTAL  |
  | ______________________________________|
  | e13e02  Dan,Jim,Kim     265     726   |
  | e13e01  Ela,Joe,Tim     256     672   |
  |_______________________________________|

ここでデモを見てください

于 2013-03-03T13:48:26.360 に答える
0

なぜこのクエリだけではないのですか?

SELECT EKIPA, sum(REZULTAT), GROUP_CONCAT(DISTINCT IMEPRIIMEK)
FROM yourtable
GROUP BY EKIPA
于 2013-03-03T13:41:57.430 に答える
0

ごとにtotalResultを取得したいと思いますEKIPA

SELECT  a.*, b.totalResult
FROM    tableName a
        INNER JOIN
        (
            SELECT  EKIPA, SUM(REZULTAT) totalResult
            FROM    tableName 
            GROUP   BY EKIPA
        ) b ON a.EKIPA = b.EKIPA

結果

╔════════════╦══════════╦════════╦═════════════╗
║ IMEPRIIMEK ║ REZULTAT ║ EKIPA  ║ TOTALRESULT ║
╠════════════╬══════════╬════════╬═════════════╣
║ Ela        ║      256 ║ e13e01 ║         672 ║
║ Joe        ║      218 ║ e13e01 ║         672 ║
║ Tim        ║      198 ║ e13e01 ║         672 ║
║ Dan        ║      265 ║ e13e02 ║         736 ║
║ Jim        ║      256 ║ e13e02 ║         736 ║
║ Kim        ║      215 ║ e13e02 ║         736 ║
╚════════════╩══════════╩════════╩═════════════╝
于 2013-03-03T13:42:56.313 に答える