2011-12-08 2 views
0
SELECT dbo.dPlaysPerDay.fkPlayerId AS Expr1, 
     sum(dbo.dPlaysPerDay.plays), 
     dbo.dWinners.pkWinnerId AS Expr2, 
     dbo.tbl_kissImages.kissImg AS Expr3, 
     dbo.dWinners.email AS Expr4, 
     dbo.tbl_kissImages.email 
FROM dbo.dPlaysPerDay 
INNER JOIN dbo.dWinners ON dbo.dPlaysPerDay.fkPlayerId = dbo.dWinners.pkWinnerId 
INNER JOIN dbo.tbl_kissImages ON dbo.dWinners.email = dbo.tbl_kissImages.email 
GROUP BY dWinners.email, 
      dPlaysPerDay.fkPlayerId, 
      dWinners.pkWinnerId, 
      tbl_kissImages.kissImg, 
      tbl_kissImages.email 
ORDER BY dWinners.email 

私はこのようなリストを返します上記SQL持っている:私はグループに演劇のすべてを合算メールで、この結果を必要とするSQLグループだけでは、特定の列の先頭レコードを表示

54938|14|54938|output/15124.png|156|[email protected] 
54938|4|54938|output/15103.png|156|[email protected] 
54939|10|54939|output/15104.png|156|[email protected] 
54939|9|54939|output/15124.png|156|[email protected] 
54940|10|54940|output/15114.png|156|[email protected] 
54940|9|54940|output/15109.png|156|[email protected] 

を( 2番目の列)を表示し、その電子メールアドレスの最初のレコードからのキスイメージのみを表示します。事前に任意の助け

おかげ

+1

どのレコードがpngの最も低い番号の「最初の」レコードであるかはわかりますか?そうであれば、Minとsumはうまく動作し、2つのフィールドのグループを削除します。サイドノートfkplayerIDとpkwinnerIDは、勝者からplaysper dayへの参加のために常に一致します。列の1つを削除することができます。 – xQbert

答えて

1

以下は、あなたが指定したメール/プレーヤーの.pngの最も初期の数を意味する第一で想定しています。

SELECT dbo.dPlaysPerDay.fkPlayerId AS Expr1, 
    sum(dbo.dPlaysPerDay.plays), 
    dbo.dWinners.pkWinnerId AS Expr2, 
    min(dbo.tbl_kissImages.kissImg) AS Expr3, 
    dbo.dWinners.email AS Expr4, 
    dbo.tbl_kissImages.email 
FROM dbo.dPlaysPerDay 
INNER JOIN dbo.dWinners 
    ON dbo.dPlaysPerDay.fkPlayerId = dbo.dWinners.pkWinnerId 
INNER JOIN dbo.tbl_kissImages 
    ON dbo.dWinners.email = dbo.tbl_kissImages.email 
GROUP BY dWinners.email, 
      dPlaysPerDay.fkPlayerId, 
      dWinners.pkWinnerId, 
      tbl_kissImages.email 
ORDER BY dWinners.email 
関連する問題