WebWork Magazin - Webseiten erstellen lassen, Online Medien, html

Webhoster, Webhosting Provider und Domain registrieren

Home | Registrieren | Einloggen | Suchen | Aktuelles | GSL-Webservice | Suleitec Webhosting
Reparatur-Forum | Elektro forum | Ersatzteilshop Haushalt und Elektronik



Im Homepage und Webhosting-Forum --- GROUP BY sortieren?

Scripte und Programme für PHP, MYSQL. Diskussionen zur Programmierung im Web. Fragen zu CMS, Blogsoftware, Shops, Newsletter und vielen weiteren Scripten.

Forum » PHP & MySQL » GROUP BY sortieren? - 21 Nov 2024 Antworten
GROUP BY sortieren?
Ehemaliges Mitglied (#378)
Quasselstrippe
Threadstarter




Beiträge: 282

Ihr Lieben!

Ich habe sinngemäss folgende Datenbank:

Name Wert
A 2
B 1
C 5
A 1
C 2
A 3

Ich möchte mit dem Befehl GROUP BY alle vorhandenen Namen erhalten, in der Ausgabe soll zu jedem Namen der jeweil höchste Wert angezeigt werden.

Also:

A 3
B 1
C 5

Gibt es dazu eine Möglichkeit?

Meine Vorstellung
$query = "SELECT Name, Wert FROM Datenbank GROUP BY Name ORDER BY Wert ASC";
funktioniert natürlich nicht (was ich aber erst nach einigem Nachdenken feststellte). Im Moment fällt mir aber keine Lösung dieses Problems ein. Ich möchte aber eingestehen, dass ich mit SQL und PHP erst begonnen habe.

Liebe Grüsse
Mondschatten

  Profil   Editieren   Zitieren
NetDrag
Foren-Team




Beiträge: 442

es gibt in SQL die Funktion max(), die dir den Höchsten Wert raussucht

in deinem Fall also
SELECT var1, max(var2) from table

oder hab ich was nicht richtig verstanden?


---
We are born wet, naked and hungry, then things got worse!

  Profil   Website   Editieren   Zitieren
Ehemaliges Mitglied (#378)
Quasselstrippe
Threadstarter




Beiträge: 282

Lieber NetDrag,

nein, Du hast es nicht falsch verstanden... ich habe es nicht richtig beschrieben.
Dein Vorschlag löst das obige Problem perfekt. Zunächst Danke, denn die max-Funktion kannte ich bislang nicht (wieder was dazu gelernt).

Nach Ausprobieren stellte ich jedoch fest, das max(wert) nicht die Zuordnung der entsprechenden Zeile mit dem Wert beibehält. Wenn ich also beispielsweise über Name und Wert hinaus eine dritte Spalte (sagen wir: Beschreibung) habe, wird diese nicht analog zu max(Wert) mitsortiert. Das hätte ich von Anfang an sagen sollen, ich weiß.

Vielen Dank
Mondschatten

  Profil   Editieren   Zitieren
einstein
Quasselstrippe




Beiträge: 241

hm, das macht die Sache dann schon ein wenig komplizierter...
Entweder musst du die Beschreibung dann über eine 2. Query (gar nicht gut ;)), oder so machen wie ich das jetzt beschreib, oder es gibt eine Lösung die ich nicht kenne oder mir gerade nicht einfällt...

1: 
2: 
3: 
4: 
5: 
6: 
7: 
8: 
9: 
10: 
11: 
12: 
13: 
14: 
15: 
16: 
17: 
18: 
19: 
20: 
21: 
22: 
23: 
24: 
25: 
26: 
27: 
28:
 $wertvorher["$row[0]"])
{
$echo["$row[0]"] = "$row[0] -> $row[1] :: $row[2]
"; $wertvorher["$row[0]"] = $row[1]; } } mysql_free_result; function print_array($ausgabe) { echo "$ausgabe"; } array_walk($echo,"print_array"); ?>


Das ist m.e. viel zu kompliziert für dein kleines Problem, aber mir fällt gerad nichts anderes ein...



[ Diese Nachricht wurde geändert von: einstein am 2002-07-17 20:46 ]

  Profil   Editieren   Zitieren
Ehemaliges Mitglied (#378)
Quasselstrippe
Threadstarter




Beiträge: 282

Lieber Einstein!

Huch... Das muss ich erst einmal verdauen (sprich: zerpflücken, ausprobieren und zu begreifen versuchen). Einstweilen Danke für Deine Antwort!

Gruss
Mondschatten

Schattenzeilen

  Profil   Editieren   Zitieren
Ehemaliges Mitglied (#378)
Quasselstrippe
Threadstarter




Beiträge: 282

Ähm...
...wenn hier jemand vorbei schaut und meint, das ginge aber auch einfacher, dann wäre ich für einen Hinweis dankbar.

(Soll heissen: Ich blicke immer noch nicht durch.)

Liebe Grüsse
Mondschatten

  Profil   Editieren   Zitieren
NetDrag
Foren-Team




Beiträge: 442

Bin grad nicht in der Lage. Es ist etwas zu spät um nachzudenken. Ich meld mich später


---
We are born wet, naked and hungry, then things got worse!

  Profil   Website   Editieren   Zitieren
Adrian
Quasselstrippe




Beiträge: 246

function print_array($ausgabe)
{
echo "$ausgabe";
}

array_walk($echo,"print_array");


besser ist print_r($dein_array);


---
schaut mal auf http://www.planetcoding-server.net vorbei

  Profil   E-Mail   Website   Editieren   Zitieren
Ehemaliges Mitglied (#378)
Quasselstrippe
Threadstarter




Beiträge: 282

Ihr Lieben!

Habe jetzt den Hinweis bekommen, dass mir die Funktion HAVING MAX() weiterhelfen kann. In diesem Zusammenhang habe ich formuliert:

$query = "SELECT ID, title, author, description, release FROM datenbank GROUP BY author,release HAVING MAX(release) ORDER BY author, release";

Das Gute:
Diese Anfrage ergibt zumindest schonmal keine Fehlermeldung!

Das Schlechte:
Diese Anfrage ergibt stets null zutreffende Datensätze (also keine Ausgabe).
release ist übrigens ein Feld im Datumsformat - liegt es vielleicht daran?

Liebe Grüsse
Mondschatten

  Profil   Editieren   Zitieren
 

Antworten
Forum » PHP & MySQL » GROUP BY sortieren?

Aktuelle Beiträge zur Hilfe im Forum für Homepage - GROUP BY sortieren? im Forum Homepage Hosting AntwortenLetztes Posting
Cybersicherheit für Unternehmen
in "PHP & MySQL"
3 18.11.2024 14:05 von Gaswer
Wirtschaftslage in der Ukraine
in "PHP & MySQL"
3 22.10.2024 15:04 von Gaswer
Rangliste (Ohne Mysql) (Kompliziertes Ordner System)
in "PHP & MySQL"
3 19.07.2021 06:00 von newtopblog
kleines problem mit phpadmin
in "PHP & MySQL"
5 11.04.2021 22:22 von Zavylon
Counter mit PHP
in "PHP & MySQL"
4 22.03.2021 16:29 von Robeni
Fehlermeldung beim Importieren der Datenbank in phpmyadmin
in "PHP & MySQL"
0 02.08.2019 22:14 von iFuchs
CMS für Online Shop
in "PHP & MySQL"
18 26.05.2019 13:29 von raiserle
Regestrierungproblem
in "PHP & MySQL"
3 28.11.2018 13:20 von norbertofahey
PHP Datum ausgeben?
in "PHP & MySQL"
1 19.10.2018 10:04 von Klaus1973
PHP befehl ausführen
in "PHP & MySQL"
11 16.08.2018 09:08 von Klaus1973
Visual Composer selber programmieren?
in "PHP & MySQL"
0 22.01.2017 23:45 von Redji



Besucher : 8126542    Heute : 460     Gestern : 463     Online : 242     21.11.2024    14:35      0 Besucher in den letzten 60 Sekunden        
Nach oben