---
title: "Multippla MAX i en fråga"
type: "forum-thread"
url: "https://www.webforum.nu/amne/databaser-sql/87119-multippla-max-i-en-fråga"
topic: "Databaser & SQL"
topic_url: "https://www.webforum.nu/amne/databaser-sql"
author: "mattiasnordin"
published: "2003-09-28T18:06:12.000Z"
updated: "2003-09-29T08:11:52.000Z"
replies: 6
views: 233
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/87119-multippla-max-i-en-fråga"
---

# Multippla MAX i en fråga

## #1 — mattiasnordin, 2003-09-28T18:06Z

Jag behöver få ut en urlen till en bild ur en databas. Har en sida där man kan rösta på bilder. Hur får jag ut den som är mest populär.

Tänker mig att man kan använda "MAX(vote) as \[max_vote\]... 
Jag får dock inte till det när jag ska använda flera max i samma fråga.

Sorteringen ska vara följande:
1) MAX(vote) as \[max_vote\]
2) MAX(vote_times) as \[max_vote_times\]
3) MAX(file_view_number) as \[max_file_views\]

Sedan spelar det inte någon roll om det finns flera bilder som matchar, bara jag får ut en av dessa.

Kan man skriva något liknande:

```
sql = "SELECT MAX(vote) as [max_vote], MAX(vote_times) as [max_vote_times], MAX(file_view_number) as [max_file_view_times], file_name FROM T_picture_stats WHERE name = 'Mattias Nordin"
```

> Microsoft JET Database Engine error '80040e21' 
> 
> You tried to execute a query that does not include the specified expression 'file_name' as part of an aggregate function. 
> 
> /tab_top_list/show_top_list.asp, line 135

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

## #2 — mattiasnordin, 2003-09-28T18:31Z

Varför göra det svårt när man kan göra det på annat sätt?

```
sql = "SELECT TOP 1 * FROM T_picture_stats WHERE name = 'Mattias' ORDER BY vote DESC, vote_times DESC, file_view_number DESC"
```

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

## #3 — aasah, 2003-09-28T18:40Z

Re: Multippla MAX i en fråga

> **mattiasnordin skrev:**
>
> .... Kan man skriva något liknande:
>
>
> ```
> sql="SELECT MAX(vote) as [max_vote], 
> MAX(vote_times) as [max_vote_times], 
> MAX(file_view_number) as [max_file_view_times], file_name 
> FROM T_picture_stats WHERE name = 'Mattias Nordin"
> ```

Om du vill ha ut värdena så bort med \[, \]. Alltså:

```
SELECT MAX(vote) as max_vote, 
MAX(vote_times) as max_vote_times, 
MAX(file_view_number) as max_file_view_times, file_name 
FROM T_picture_stats WHERE name = 'Mattias Nordin'
```

Du verkar sakna den stängande ':n efter Nordin också. Först stängs strängen med ', sedan SQL-uttrycket med ".

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

## #4 — @nders, 2003-09-28T18:44Z

Använder man dylika funktioner i sin SQL-fråga måste man ha med alla andra fält i GROUP BY-instruktionen i frågan.

Mvh

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

## #5 — mattiasnordin, 2003-09-29T07:29Z

Vad menas med "group by" ?

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

## #6 — Engine^, 2003-09-29T07:47Z

GROUP BY är en sorts DISTINCT lite enkelt beskrivet. De fält du anger i GROUP BY kommer att göra så att din SELECT endast återger ett resultat per de fält som har samma värden... tänk att du har en tabell med följande värden

```
[u]intA[/u]   [u]intB[/u]   [u]intC[/u]
   1      1      1
   1      1      2
   2      1      3
   2      1      3
   2      2      4
   2      2      4
   2      2      5
```

Då kommer

```
SELECT intA, intB, intC FROM tabell GROUP BY intA, intB, intC
```

att ge dig resultatet

```
[u]intA[/u]   [u]intB[/u]   [u]intC[/u]
   1      1      1
   1      1      2
   2      1      3
   2      2      4
   2      2      5
```

Så din fråga skulle kunna se ut så här

```
SELECT Max(vote) AS max_vote, Max(vote_times) AS max_vote_times, Max(file_view_number) AS max_file_view_times, file_name
FROM T_picture_stats
WHERE name = 'Mattias Nordin'
GROUP BY file_name
```

För varje fält du vill ha ut i din SELECT måste du ange detta fält i GROUP BY delen också.

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

## #7 — mattiasnordin, 2003-09-29T08:11Z

Tack. Fint forum det här !!!

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

---

Tråden på webben: https://www.webforum.nu/amne/databaser-sql/87119-multippla-max-i-en-fråga
