我有一張表格,內容如下:http://i.stack.imgur.com/zH2zz.png
此表適用於曲棍球聯盟(Link Here)。這是統計數據將在數據庫中保存的第二個賽季。如果您選擇鏈接中的下拉菜單,您會看到我可以在兩個季節中生成前20個列表(1個季節除1個測試程序外沒有數據)。目標是總計兩個賽季,並有一個歷史排名前20的名單。我曾嘗試使用總和功能,但確實將每一行添加到1.
添加2個或更多不同行的列值。 SQL
我只想總結重複玩家ID的行。例如,我是玩家ID#2,我需要每個目標並協助添加包含我的PID的每行,但是我需要爲1個查詢中的所有前20位玩家提供此信息。以下是我目前使用的一些查詢。
SELECT Rosters.PID, Rosters.Goals, Rosters.Assists, Rosters.PIM, Rosters.Num, Rosters.TID, Players.pid, Players.firstname, Players.lastname,
(Rosters.Goals + Rosters.Assists) AS Points
FROM Rosters
INNER JOIN Players
ON Rosters.PID = Players.pid
WHERE Rosters.TID BETWEEN $parameter
ORDER BY Points DESC, Goals DESC
LIMIT 0,20
的$parameter
是基於團隊的ID(TID)有16個工業貿易署(8每個季節)。這個查詢獲取所有的記錄,當參數是1-16時,它只是不通過PID加上非獨特的行(這最終是我想要學的)。這倒說明如何查詢被實例化
<div class="ddstyle">
<select name="DropDownTeams" id="DDTeams">
<option>Select a Season</option>
<option value="stats2.php?tid=9 AND 16">2015-2016</option>
<option value="stats2.php?tid=1 AND 8">2014-2015</option>
<option value="stats2.php?tid=1 AND 16">All Time</option>
</select>
</div>
我試圖做的下降:
SELECT Rosters.PID, SUM(Rosters.Goals) Goals, SUM(Rosters.Assists) Assists, SUM(Rosters.PIM) PIM, Rosters.Num, Rosters.TID, Players.pid, Players.firstname, Players.lastname,
SUM((Rosters.Goals + Rosters.Assists)) AS Points
FROM Rosters
INNER JOIN Players
ON Rosters.PID = Players.pid
WHERE Rosters.TID BETWEEN 1 AND 16
ORDER BY Points DESC, Goals DESC
LIMIT 0,20;
但是,這只是增加了每個記錄成一排。當使用SUM()函數時,Where子句顯然不像我想要的那樣工作。
我只是給它一個鏡頭,但它沒有加起來重複PID的。我在2014年達到19個進球14次助攻。我在2015年有2次助攻。所有時間應該有19個進球和16次助攻。 –
如果沒有真實數據,這件事很難去嘗試。你可以在http://sqlfiddle.com/準備你的模式嗎? –
是的,我從來沒有這樣做過,所以它可能需要我一點。 –