php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2006

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 16.10.2006, 17:28  
obi
Erfahrener Benutzer
 
Registriert seit: 26.06.2004
Beiträge: 270
obi
Standard maximalwert aus mehreren Spalten

Hallo,
habe ein kleines Problem mit Maximalwerten in Spalten.
Meine Tabelle:
ID | werte1 | werte2 | werte3 u.s.w.

Ich möchte nun die ersten 10 Einträge der größe des eintrages (int) nach abrufen, jedoch kann ich hier nicht einfach ORDER BY werte2 benutzen, da nach allen drei spalten sortiert werden soll:

USER | werte1 | werte2 | werte3 |
1 | 1 | 2 | 2
2 | 3 | 4 | 6
3 | 5 | 2 | 7

Sollte also an erster Stelle USER3, dann USER2 dann wieder USER3 bis an letzter Stelle USER1 ausgeben.
Praktisch also die drei Spalten zu einer Spalte zusammenschmeissen.
obi ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 16.10.2006, 17:35  
Erfahrener Benutzer
 
Registriert seit: 21.05.2008
Beiträge: 9.937
Zergling-new wird schon bald berühmt werden
Standard Re: maximalwert aus mehreren Spalten

Zitat:
Zitat von obi
Sollte also an erster Stelle USER3, dann USER2 dann wieder USER3 bis an letzter Stelle USER1 ausgeben.
Hugh?- Wieso 2x USER3?

Zitat:
Zitat von obi
Praktisch also die drei Spalten zu einer Spalte zusammenschmeissen.
Code:
ORDER BY (wert1 + wert2 + wert3) DESC
Zergling-new ist offline  
Alt 16.10.2006, 17:59  
Erfahrener Benutzer
 
Registriert seit: 09.03.2005
Beiträge: 219
webbi
Standard

Ich glaube er stellt sich das anders vor:
Aus Tabelle:

USER | werte1 | werte2 | werte3 |
1 | 1 | 2 | 2
2 | 3 | 4 | 6
3 | 5 | 2 | 7

Soll folgende Ausgabe kommen:

User | Wert
3 | 7
2 | 6
3 | 5
2 | 4
2 | 3
3 | 2
1 | 2
1 | 2
1 | 1

richtig?

Wäre vielleicht einfacher erst alles abzufragen und dann in PHP aufzudröseln. Aber eventuell müsste man auch die DB Struktur überdenken. Was solls denn werden?
webbi ist offline  
Alt 16.10.2006, 18:17  
obi
Erfahrener Benutzer
 
Registriert seit: 26.06.2004
Beiträge: 270
obi
Standard

Zitat:
3 | 7
2 | 6
3 | 5
2 | 4
2 | 3
3 | 2
1 | 2
1 | 2
1 | 1
absolut richtig!
hab befürchtet, dass ich mich vielleicht ein wenig unklar ausgedrückt hab.
obi ist offline  
Alt 16.10.2006, 18:38  
Erfahrener Benutzer
 
Registriert seit: 21.05.2008
Beiträge: 9.937
Zergling-new wird schon bald berühmt werden
Standard

Dann schreib den Post gleich anständig.
Zergling-new ist offline  
Alt 16.10.2006, 22:34  
obi
Erfahrener Benutzer
 
Registriert seit: 26.06.2004
Beiträge: 270
obi
Standard

Die Struktur ist leider schlecht zu ändern.
Du meinst also ich sollte ein Array erstellen, dass jede zuordnung enthält und dieses dann sortieren?
obi ist offline  
Alt 16.10.2006, 23:05  
Erfahrener Benutzer
 
Registriert seit: 21.05.2008
Beiträge: 9.937
Zergling-new wird schon bald berühmt werden
Standard

Zitat:
Die Struktur ist leider schlecht zu ändern.
Dann merks dir für zukünftige Projekte

Code:
SELECT user, wert1 FROM tabelle WHERE wert1 IS NOT NULL
UNION ALL
SELECT user, wert2 FROM tabelle WHERE wert2 IS NOT NULL
UNION ALL
SELECT user, wert3 FROM tabelle WHERE wert3 IS NOT NULL
Zergling-new ist offline  
Alt 17.10.2006, 09:01  
Erfahrener Benutzer
 
Benutzerbild von dsmcg
 
Registriert seit: 11.10.2005
Beiträge: 2.405
dsmcg sorgt für eine eindrucksvolle Atmosphäredsmcg sorgt für eine eindrucksvolle Atmosphäredsmcg sorgt für eine eindrucksvolle Atmosphäre
Standard

Mich würde es aber doch noch interessieren wozu? was willst du damit ereichen?
__________________
Wie man Fragen richtig stellt
dsmcg ist offline  
Alt 17.10.2006, 12:50  
obi
Erfahrener Benutzer
 
Registriert seit: 26.06.2004
Beiträge: 270
obi
Standard

also ok, wert1 usw. stehen für Spieltage an denen bei jedem User Punkte eingetragen werden, die werte Spalten werden für jeden Spieltag neu generiert, so dass deren Anzahl ständig wächst.
Um eine Bestenliste für erreichte Punkte an irgendeinem Spieltag zu machen muss ich nun alle werte zusammenschmeissen und z.B. die 10 höchsten rauspicken.

Gibt es eigentlich eine Möglichkeit nach der Vereinigung Rückschlüsse auf die Herkunft der Daten zu schließen?
hier z.B. neben dem Punktestand also den Spieltag an dem er erreich wurde anzugeben
obi ist offline  
Alt 17.10.2006, 12:55  
Erfahrener Benutzer
 
Registriert seit: 05.07.2004
Beiträge: 1.476
DiBo33
Standard

Und wieder mal ein Paradebeispiel, wie man sich durch undurchdachtes Tabellendesign das Leben schwer machen kann.
DiBo33 ist offline  
 


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Ergebnisse aus mehreren Spalten [gelöst] wishy Datenbanken 6 01.10.2007 11:42
Hilfe bei Mysql Query aus mehreren spalten benötigt cytrobic Datenbanken 8 18.05.2007 11:36
Verständnisfrage: Aufruf von mehreren Usern vegeta PHP Tipps 2006 2 02.06.2006 15:39
Datenbank spalten kopiere in einer andere Spalte medico Datenbanken 10 08.05.2006 16:52
nicht formatierten Text in mehreren Spalten darstellen PHP-Fortgeschrittene 4 17.02.2006 10:55
Wie kann ich die Spalten einer Tabelle auslesen ? Datenbanken 0 31.10.2005 00:29
Probleme mit 'count' von mehreren Spalten Datenbanken 1 26.08.2005 12:09
drei Spalten einer Tabelle zusammenfügen Lia PHP Tipps 2005-2 24 16.08.2005 15:58
spalten zählen mit ausnahmen Datenbanken 8 16.07.2005 13:04
[Erledigt] Maximalwert MAX() von mehreren AVG()-Werten ermitteln Datenbanken 1 23.06.2005 16:32
Addieren von 3 Spalten, nach Ergebnis sortieren Datenbanken 11 15.06.2005 09:54
Spalten Dynamisch als Tabelle anzeigen lassen(Spalten ausl.) Cyberbob_at_tot PHP Tipps 2005-2 6 04.06.2005 22:55
[Erledigt] MySQL Abfrage aus mehreren Tabellen Datenbanken 1 12.04.2005 17:53
>>4 Spalten Layout! PHP Tipps 2005 17 13.02.2005 04:53
[Erledigt] [OT] besser eine Tabelle mit mehr Spalten oder aufteilen ? Datenbanken 1 22.10.2004 17:26

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
maximum mehr spalten, maximaler wert aus 3 spalten

Alle Zeitangaben in WEZ +2. Es ist jetzt 14:19 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.