SQL Group, но показывает только верхнюю запись для определенного столбца - PullRequest
0 голосов
/ 08 декабря 2011
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, который возвращает список, подобный этому:

54938|14|54938|output/15124.png|156|eg@googlemail.com
54938|4|54938|output/15103.png|156|eg@googlemail.com
54939|10|54939|output/15104.png|156|eg2@googlemail.com
54939|9|54939|output/15124.png|156|eg2@googlemail.com
54940|10|54940|output/15114.png|156|eg3@googlemail.com
54940|9|54940|output/15109.png|156|eg3@googlemail.com

Мне нужно сгруппировать этот результат по электронной почте, добавив все пьесы (второй столбец) для этого письма и отображая только изображение поцелуя из первой записи этого адреса электронной почты.

Спасибо за любую помощь заранее

1 Ответ

1 голос
/ 08 декабря 2011

Следующее предполагает, что под 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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...