php.de

Zurück   php.de > Webentwicklung > Datenbanken

Datenbanken SQL und Co

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 10.06.2011, 11:10  
Neuer Benutzer
 
Registriert seit: 10.06.2011
Beiträge: 3
PHP-Kenntnisse:
Anfänger
kiai befindet sich auf einem aufstrebenden Ast
Standard [Erledigt] MySql select Teilmenge einer Teilmenge

Hey,
mal wieder zu lange an einer "kleinen" Sache, trotz langer Suche und hoffentlich einfachem Problem bin ich bisher nicht fündig geworden.
Ich will eine Teilmenge (FeldX, Zahlen) aus meiner MySql Datenbank abfragen und von dieser Teilmenge den kompletten Zeileneintrag mit dem größten Wert einer bestimmten Spalte (FeldY, Zahlen) anzeigen lassen. Dachte es sollte mit WHERE und SELECT problemlos gehen, hab s aber nicht geschafft...

Meine gescheiterten Ansätze:
Versuch 1:
PHP-Code:
 mysqli_query($connect"SELECT * FROM TabelleA WHERE FeldX > 10 && FeldY = (select Max(FeldY) from TabelleA)"); 
Hier sucht er logierscherweise immer nach Einträgen für die beide WHERE Bedingungen wahr sind, d. h. er bildet nicht erst die Teilmenge > 10 und sucht dann in ihr nach dem Maximum. Ist also ein Wert in der Datenbank < 10 das Maximum, gibt s keinen Eintrag.

Versuch 2:
PHP-Code:
 mysqli_query($connect"SELECT FeldA, FeldB, MAX(FeldY) FROM TabelleA WHERE FeldX > 10"); 
Hier scheint die WHERE Bedingung Vorrang zu haben, so dass die erste Zeile angezeigt wird, deren Wert in FeldX > 10 ist. Warum allerdings nur eine Zeile angezeigt wird, versteh ich nicht wirklich, wird mit MAX zusammenhängen...

Weitere Lösungsideen, für die aber mein Wissen bisher zu eingeschränkt ist, hatten was mit HAVING zu tun, oder die erste Teilmenge in ein Array zu packen und das dann mit MAX in PHP auszulesen...

Wie würdet Ihr s machen? Danke schon mal....
kiai ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 10.06.2011, 11:18  
Erfahrener Benutzer
 
Registriert seit: 01.09.2010
Beiträge: 4.561
PHP-Kenntnisse:
Fortgeschritten
eagle275 ist ein sehr geschätzer Menscheagle275 ist ein sehr geschätzer Menscheagle275 ist ein sehr geschätzer Mensch
Standard

hör bitte auf die Datenbank mit PHP-Logikoperatoren zu foltern ...


Code:
SELECT * FROM TabelleA WHERE FeldY = (select Max(FeldY) from TabelleA WHERE FeldX > 10 )
ist aber eher unelegant, weil sub-query meist Performancelastig sind ... und SELECT * macht man ja schon mal gar nicht - wähle die Spalten aus, die du letztlich brauchst
__________________
"Irren ist männlich", sprach der Igel und stieg von der Drahtbürste
eagle275 ist offline   Mit Zitat antworten
Alt 10.06.2011, 12:00  
Moderator¹
 
Registriert seit: 28.03.2010
Beiträge: 7.470
PHP-Kenntnisse:
Fortgeschritten
ChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer Anblick
Standard

Zitat:
Zitat von kiai Beitrag anzeigen
Ich will eine Teilmenge (FeldX, Zahlen) aus meiner MySql Datenbank abfragen
Einschränkung der Datensätze über WHERE-Klausel, plus
Zitat:
und von dieser Teilmenge den kompletten Zeileneintrag mit dem größten Wert einer bestimmten Spalte (FeldY, Zahlen) anzeigen lassen.
"Auswahl" des Datensatzes mit dem höchsten Wert über ORDER BY und LIMIT.
__________________
RGB is totally confusing - I mean, at least #C0FFEE should be brown, right?
ChrisB ist offline   Mit Zitat antworten
Alt 10.06.2011, 12:04  
Neuer Benutzer
 
Registriert seit: 10.06.2011
Beiträge: 3
PHP-Kenntnisse:
Anfänger
kiai befindet sich auf einem aufstrebenden Ast
Standard

Danke für die schnelle Reaktion Eagle, ich versuch noch elegant zu essen und das dann langsam auf andere Bereiche zu übertragen, aber wirklich weiter bin ich jetzt nicht...
Apropos SELECT * ich verwende tatsächlich nachfolgend alle Spalten, inkl. ID.
Wenn Du weißt, wie ich meine Auswahl anders als mit dem SubQuery löse, dann bitte.
Code:
 SELECT MAX(FeldY) FROM TabelleA
Geht ja schon, aber eben nicht von der Teilmenge durch FeldX > 10 und das kann ich meines Wissens nicht in
Code:
 SELECT FeldX > 10 FROM Tabelle A
schreiben - ging bei mir so wenigstens nicht...
kiai ist offline   Mit Zitat antworten
Alt 10.06.2011, 12:06  
Neuer Benutzer
 
Registriert seit: 10.06.2011
Beiträge: 3
PHP-Kenntnisse:
Anfänger
kiai befindet sich auf einem aufstrebenden Ast
Standard

@ChrisB das klingt super, top, danke, wird ausprobiert und dann vermutlich geschlossen, Danke!
Läuft, wunderbar, Danke Dir!

Geändert von kiai (10.06.2011 um 12:13 Uhr).
kiai ist offline   Mit Zitat antworten
Alt 11.06.2011, 15:08  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 35.987
PHP-Kenntnisse:
Fortgeschritten
nikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunft
Standard

Das nächste mal bitte Beispiele, unter denen man sich was vorstellen kann!
__________________
--
One pixel is still too big. Please make it smaller. ASAP.

Initiative Mittelstand.
Die wichtigste Gestaltungsregel im Screendesign ist Pi mal Daumen des Arbeitgebers.
--
nikosch ist offline   Mit Zitat antworten
Antwort


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
mysql UPDATE mit Select subquery auf die gleiche Tabelle motions Datenbanken 13 21.06.2011 10:50
MySQL: Problem mit Aliasnamen in SELECT Random00 Datenbanken 2 26.05.2011 09:31
[Erledigt] MySQL Select ORDER BY - Inhalt einer Spalte höher bewerten Mert Datenbanken 10 03.03.2011 14:29
[Erledigt] Mysql SELECT: Mehrere Werte in einer Spalte SilentSight Datenbanken 1 04.02.2011 18:28
mysql php SELECT mehrere Tabellen helpchris Datenbanken 17 16.10.2010 17:59
MySQL: Select in ALLEN Datenbanken, Tabellen Feldern SvenLittkowski Datenbanken 4 13.10.2010 22:36
* 2 tabellen -> mysql doppel select if und else??? sandrasandra Datenbanken 7 05.04.2010 22:18
[Erledigt] MySQL Link Resource in einer statischen Variablen speichern Lenki PHP-Fortgeschrittene 8 18.03.2010 16:37
Zwei Select boxen aus mysql Füllen aboike PHP Tipps 2009 3 06.11.2009 09:33
MYSQL select diffrenz 'spalte ' heute - gestern p-dichlorbenzol Datenbanken 8 14.02.2009 17:03
[Erledigt] Mysql Insert Select + Concat Hu5eL Datenbanken 14 10.06.2008 10:39
MySQL und select sven88 PHP Tipps 2008 5 30.05.2008 16:47
Mysql SELECT Abfrage -- Problem mit LIMIT djrace Datenbanken 2 01.05.2006 12:58
[Erledigt] [gelöst] MySQL abfrage eingrenzen anhand einer SELECT Auswah Datenbanken 13 01.12.2004 18:42
[Erledigt] 2 mal select 1 form PHP-Fortgeschrittene 1 01.09.2004 20:13

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
mysql teilmenge, php teilmenge, teilmenge in teilmenge, mysql selektiere die größten 10 werte, mysql untermenge, teilmenge per sql ausgeben, wert als teilmenge, mysql select einen teil auslesen, mysql max plus spalte, mysql teilmenge einer tabelle neue tabelle, mysql ganzen datensatz lesen mit dem größten wert, sql select teilmenge, sql datensatz mit dem höchsten wert, mysql 2 teilmengen ausgeben, mysql 2 teilmengen, where teilmenge, datenbank menge ist teilmenge, mysql max auf eine teilmenge, mysql max einer teilmenge, untermengen mit subselect

Alle Zeitangaben in WEZ +2. Es ist jetzt 12:04 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