Gå til innhold

[Løst]Summere sammen, og velge høyeste?


Anbefalte innlegg

Hei.

 

jeg har koden:

$manhigh = mysql_query("SELECT MAX(SUM(km)), navn FROM `res` WHERE `kjonn`='mann'") or die(mysql_error());

 

Jeg vil da altså summere sammen "km", og derreter velge det høyeste som blir da.

 

Igjen skal kjønnet vær mann.

 

jeg får error:

Invalid use of group function

 

takk på forhånd

Lenke til kommentar
Videoannonse
Annonse

Okey, her er det noen jeg definitivt ikke helt skjønner. Du skal summere alle verdier fra feltet 'km' i tabellen hvor feltet 'kjonn' er satt til 'mann' og finne maks verdi av det? Altså du skal på papiret finne maks av en eneste verdi? Hva er poenget med det? Tror du bør forklare litt bedre hva du ønsker å komme frem til.

Lenke til kommentar

Jeg har en tabell som ser sånn ut :

 

Felt	  Type   	Null	  Standard   	Kommentarer
id 	int(11) 	Nei			 
dato 	varchar(255) 	Nei			 
navn 	varchar(255) 	Nei			 
ansnr 	varchar(255) 	Nei			 
km 	varchar(255) 	Nei			 
kjonn 	varchar(255) 	Nei

 

Hvor jeg skal plusse sammen feltet KM, sånn at vær unike person får kun ett tall, og ikke X antall. Den skal igjen sortere etter kjonn.

 

Håper det var litt bedre?

Lenke til kommentar
Okey, her er det noen jeg definitivt ikke helt skjønner. Du skal summere alle verdier fra feltet 'km' i tabellen hvor feltet 'kjonn' er satt til 'mann' og finne maks verdi av det? Altså du skal på papiret finne maks av en eneste verdi? Hva er poenget med det? Tror du bør forklare litt bedre hva du ønsker å komme frem til.

Jeg antar at hver person har løpt flere ganger og hvert løp er oppført som én rad. Trådstarter vil finne ut hvilken mann som tilsammen har løpt lengst.

 

$manhigh = mysql_query("SELECT SUM(km), navn FROM `res` WHERE `kjonn`= 'mann' GROUP BY navn ORDER BY SUM(km) DESC LIMIT 1") or die(mysql_error());

Endret av Jonas
Lenke til kommentar

Litt vanskelig å forstå hva du vil ja.. antar at du har en tabell omtrent som denne:

| navn	| km	| kjonn  |
-----------------------------
| bob	 |   2   | mann   |
| sue	 |   3   | kvinne |
| bob	 |   4   | mann   |
| sue	 |   5   | kvinne |
| fred	|   2   | mann   |

 

Hvis jeg tolket spørsmålet ditt riktig, så kan du prøve noe sånn som dette kanskje?

SELECT navn, SUM(km) AS kmsum FROM res WHERE kjonn='mann' GROUP BY navn ORDER BY kmsum DESC LIMIT 1

 

Da får du ut navnet til den av mennene som har flest km totalt, samt det totale antall km for den mannen.

 

Edit: Beaten to the punch!

Endret av Edorph
Lenke til kommentar

Åjo.. Beklager, Tror jeg glemte å nevne i siste post.

 

Den skal etter alt det, Velge personen som har gått LENGST , av alle.

 

Tror det er løst nå :)

 

	$manhigh = mysql_query("SELECT SUM(km), MAX(km), navn FROM `res` WHERE `kjonn`= 'mann' GROUP BY navn ORDER BY SUM(km) DESC LIMIT 1") or die(mysql_error());

Endret av LaCrouX
Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...