---
title: "Hur får jag ut infon efter sumering?"
type: "forum-thread"
url: "https://www.webforum.nu/amne/databaser-sql/177310-hur-får-jag-ut-infon-efter-sumering"
topic: "Databaser & SQL"
topic_url: "https://www.webforum.nu/amne/databaser-sql"
author: "Skogiz"
published: "2009-03-05T14:02:03.000Z"
updated: "2009-03-05T15:48:00.000Z"
replies: 7
views: 460
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/databaser-sql/177310-hur-får-jag-ut-infon-efter-sumering"
---

# Hur får jag ut infon efter sumering?

## #1 — Skogiz, 2009-03-05T14:02Z

```php
$data = mysql_db_query("databasen", "SELECT playerid, max(actionid) FROM matches where actionid = '$actionid' group by playerid");

      while ($rad = mysql_fetch_assoc ($data))
   {
    print "Spelare ";
    print $rad["playerid"];
    print "har gjort ";
    print $rad["max(actionid)"];
}
```

När jag kör koden ovan blir det bara blankt.
Om jag kör frågan 

```php
SELECT playerid, max(actionid) FROM matches where actionid = '3' group by playerid;
```

 i querybrowser så får jag fram data...

Någon som kan hjälpa mig att få till korrekt kod

Tack på förhand

Permalänk: https://www.webforum.nu/p/177310

## #2 — Pedda, 2009-03-05T14:08Z

Sätt ett alias på din max()

```
$data = mysql_db_query("databasen", "SELECT playerid, max(actionid) as summa FROM matches where actionid = '$actionid' group by playerid");
```

```
print $rad["summa"];
```

edit /
Jäkla bugg som slänger in smilies.

Permalänk: https://www.webforum.nu/p/2174143

## #3 — headbug, 2009-03-05T14:09Z

Jag är inte så supervass på vare sig PHP eller MySQL men jag skulle gissa att du i din associativa array inte kan ropa på fältnamnet "max (actionid)" utan att du i SQL-frågan måste använda AS och ge ditt maxvärde ett namn explicit som du sedan ska använda.

Alltså:

```php
$data = mysql_db_query("databasen", "SELECT playerid, max(actionid) AS max_a_id FROM matches where actionid = '$actionid' group by playerid");

      while ($rad = mysql_fetch_assoc ($data))
   {
    print "Spelare ";
    print $rad["playerid"];
    print "har gjort ";
    print $rad["max_a_id"];
}
```

Sedan kan man ju fråga sig varför i allsin dar du vill ta ut max (actionid) när du i redan i frågan tar ut alla rader som har ett visst action-id, du vet ju redan vad max av ett unikt värde är (=sig självt).

Har du tänkt igenom ordentligt? :)

mvh

/red: såklart han pedda först :) Och dumma smileys

Permalänk: https://www.webforum.nu/p/2174144

## #4 — Skogiz, 2009-03-05T14:34Z

Det där funkade mycket bättre ja! Tack! (y)

Men hur blir det om jag istället för spelar-id vill ha namnet på spelaren. Jag har alla spelare i en egen tabell (players) där de får ett unikt id (det id som jag nyss sökt fram)

Är det en INNER JOIN man ska köra då men hur bör den se ut?

Permalänk: https://www.webforum.nu/p/2174145

## #5 — Pedda, 2009-03-05T14:43Z

Flyttar från PHP

Permalänk: https://www.webforum.nu/p/2174146

## #6 — headbug, 2009-03-05T15:15Z

Det stämmer att det är en join du ska göra. Under antagandet att din tabell "players" har en kolumn som heter "name" och en som heter "ID" så skriver man såhär:

```
$data = mysql_db_query("databasen", "SELECT p.name, max(m.actionid) AS max_a_id FROM matches m INNER JOIN players p ON p.ID = m.playerid WHERE m.actionid = '$actionid' GROUP BY m.playerid");
```

Permalänk: https://www.webforum.nu/p/2174148

## #7 — Skogiz, 2009-03-05T15:23Z

Tack headbug! :e

Funkar det att baka ihop fältnamn?
Alltså typ så här

```
Concat( p.surename, ' ', p.lastname ) AS fullname
```

Permalänk: https://www.webforum.nu/p/2174149

## #8 — headbug, 2009-03-05T15:48Z

Japp det ska det göra.

Permalänk: https://www.webforum.nu/p/2174152

---

Tråden på webben: https://www.webforum.nu/amne/databaser-sql/177310-hur-får-jag-ut-infon-efter-sumering
