Antwort
 
LinkBack Themen-Optionen Thema durchsuchen
Alt 06.05.2009, 19:52 Nach oben    #1
Sven Schmalle
 
Benutzerbild von Sclot
 
Registriert seit: 18.08.2005
Ort: Bremen
Beiträge: 187
Standard Nochmal nen SQL-Problem

Geht hier grad um die Auswertung von Online-Updates bei Kunden...
Wenn ein Update geamcht wird, wird ein Datensatz in eine MySQL Tabelle geschrieben, folgender aufbau:

Code:
KUNDE |FILIALE|DATUM
SCHULZ| FRA   | 20090504
SCHULZ| DUS   | 20090504
SCHULZ| HAM   | 20090504
MEYER | FRA   | 20090505
MEYER | DUS   | 20090505
MEYER | HAM   | 20090505
SCHULZ| FRA   | 20090506
MEYER | FRA   | 20090506
Sooo...
Was ich jetzt brauche ist eine Liste, chronologisch sortiert, nach Kunde/Filiale.

Müsste am Ende alos folgendes raus kommen:


Code:
KUNDE |FILIALE|DATUM
SCHULZ| FRA   | 20090506
MEYER | FRA   | 20090506
MEYER | DUS   | 20090505
MEYER | HAM   | 20090505
SCHULZ| DUS   | 20090504
SCHULZ| HAM   | 20090504

Da brauch ich jetzt eine Idee für....

Warum kann man denn nicht einfach ein ORDER BY vor einem GROUP BY machen? :-(

Geändert von Sclot (06.05.2009 um 19:55 Uhr)
Sclot ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 06.05.2009, 20:04 Nach oben    #2
Jann Hendrik Bekaan
 
Benutzerbild von Jann Hendrik
 
Registriert seit: 02.12.2004
Ort: Wildeshausen
Beiträge: 3.198
Standard

Was ist denn mit:

Code:
SELECT ... Order by Datum ASC, filiale asc
__________________

Umfragen:
bitte beachten: Vorschläge für künftige Umfragen
Woher weißt du vom developers-guide?

Wenn du dich in ein interessantes Thema eingearbeitet hast, dann lass andere daran teilhaben! Schreibe ein Tutorial und beschreibe, wie es geht, was nicht klappt, wo man aufpassen muss usw.
Danke!
Jann Hendrik ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 07.05.2009, 11:57 Nach oben    #3
Sven Schmalle
 
Benutzerbild von Sclot
 
Registriert seit: 18.08.2005
Ort: Bremen
Beiträge: 187
Standard

Nein, ich möchte ja nicht einfach nur ALLE datensötze sortiert haben, sondern auch Gruppiert nach Firma und Filiale.... :-(
Sclot ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 07.05.2009, 12:03 Nach oben    #4
Erfahrener Benutzer
 
Benutzerbild von Bleistift
 
Registriert seit: 31.12.2006
Ort: Zürich
Beiträge: 397
Standard

Code:
SELECT `KUNDE`, `FILIALE`, MAX(`DATUM`) FROM `updates` GROUP BY `KUNDE`, `FILIALE`
__________________
. <-- This is Punkt. Copy Punkt into your signature to help him on his way to world domination.
Bleistift ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 07.05.2009, 13:36 Nach oben    #5
Martin Eisengardt
 
Registriert seit: 30.03.2006
Ort: Pfinztal
Beiträge: 396
Standard

Zitat:
Zitat von Sclot Beitrag anzeigen
Nein, ich möchte ja nicht einfach nur ALLE datensötze sortiert haben, sondern auch Gruppiert nach Firma und Filiale....
Aber genau das macht es doch. Du musst nur das order by und group by richtig herum schreiben. IMHO erst group by dann order by als letztes. Wenn das angemeckert wird, einfach erst order by und dann group by.

Solange du beim order by nur spalten verwendest, die du per group by gruppierst, geht das.
__________________
Open Sourcing the Online Gaming Universe (bald wieder)
PHP/SQL/Java/C++/Assembler.
Seit Jahren Mitglied und Entwickler in einem der wohl größten Java-Projekte der Welt: http://weblogs.java.net/blog/hansmul...e_desktop.html
Das Game Developer Consultant Team öffnet langsam seine Pforten
mepeisen ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 08.05.2009, 09:35 Nach oben    #6
Sven Schmalle
 
Benutzerbild von Sclot
 
Registriert seit: 18.08.2005
Ort: Bremen
Beiträge: 187
Standard

Also... ich möchte nicht abstreiten das ich durch das eine jahr, welches ich nun älter geworden bin auch dümmer geworden bin... aber ich glaub ich steh echt aufm schlauch :-/

Zitat:
Wenn das angemeckert wird, einfach erst order by und dann group by.
Öhm - Nein?
Ich lese überall in der Doku das ein "ORDER BY" IMMER NACH eine "GROUP BY" kommen muss.

Zitat:
Solange du beim order by nur spalten verwendest, die du per group by gruppierst, geht das.
Mache ich ja nicht - ich brauch es ja sortiert nach Datum (weil ich den letzten Update Stand brauche), gruppiere aber nicht nach Datum.



Soooo....
Ich hab das mal in PHP gefrickelt damit ihr vielelicht besser versteht was ich brauche

PHP-Code:
    $result mysql_query("SELECT firmenfiliale FROM update WHERE firmenname='$firmenname' GROUP BY firmenfiliale");
    while(
$liste mysql_fetch_array($result))
    {
        
$result_fil mysql_query("SELECT * FROM update WHERE firmenname='$firmenname' AND firmenfiliale='".$liste[firmenfiliale]."' ORDER BY id DESC LIMIT 0,1");
        while(
$liste_fil mysql_fetch_array($result_fil))
        {
            echo 
"<tr><td>".$liste_fil[firmenname]."</td><td>".$liste_fil[firmenfiliale]."</td><td>".$liste_fil[datum]."</td></tr>";
        }
        
    } 
Sclot ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 08.05.2009, 09:39 Nach oben    #7
Erfahrener Benutzer
 
Benutzerbild von Bleistift
 
Registriert seit: 31.12.2006
Ort: Zürich
Beiträge: 397
Standard

Funktionierte das aus meinem Beitrag nicht?
__________________
. <-- This is Punkt. Copy Punkt into your signature to help him on his way to world domination.
Bleistift ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 08.05.2009, 09:45 Nach oben    #8
Sven Schmalle
 
Benutzerbild von Sclot
 
Registriert seit: 18.08.2005
Ort: Bremen
Beiträge: 187
Standard

Dazu wollt ich auch noch was schreiben...
Mit dem MAX() hatte ich auch schon versucht, der sortierte dann aber merktwürdig.
Kann das grad nicht wieder geben weil ichs nicht mehr vor mir habe - werde es aber nochmal versuchen nach zu stellen (war ein wirklich merkwürdiges verhalten :-/)
Sclot ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 08.05.2009, 10:37 Nach oben    #9
Erfahrener Benutzer
 
Benutzerbild von Bleistift
 
Registriert seit: 31.12.2006
Ort: Zürich
Beiträge: 397
Standard

Naja, sortiert wird bei meinem Script noch gar nichts. Müsste dann halt so heissen:
Code:
SELECT `KUNDE`, `FILIALE`, MAX(`DATUM`) AS datum FROM `updates` GROUP BY `KUNDE`, `FILIALE` ORDER BY datum
Bei meinem kleinen Test hat es ohne Probleme funktioniert
__________________
. <-- This is Punkt. Copy Punkt into your signature to help him on his way to world domination.
Bleistift ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 08.05.2009, 16:35 Nach oben    #10
Sven Schmalle
 
Benutzerbild von Sclot
 
Registriert seit: 18.08.2005
Ort: Bremen
Beiträge: 187
Standard

Mhm...
eben noch mal 2 Minuten gehabt und probiert...
Es scheint wirklich das raus zu kommen was man erwartet *kopfkratz*

Ich werde das mal beobachten im weiteren verlauf wenn die Tabelle mit mehr echt-Daten gefüllt ist aber Dankeschön erstmal an dieser stelle :)
Sclot ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche

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 aus


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
qooxdoo in Eclipse einbinden don_pazo Eclipse 0 08.01.2009 10:41
SQL Problem Dracul Datenbanken 3 31.10.2006 09:35
SQL Statment, Subselect, Max The_S Datenbanken 1 09.09.2006 15:17
Problem mit Cookie und Reloads... Bookworm PHP-Programmierung 10 13.04.2006 12:09
OSX + Eclipse 3.1 Problem bacarni Eclipse 3 29.07.2005 21:19


Alle Zeitangaben in WEZ +1. Es ist jetzt 19:43 Uhr.


Powered by vBulletin® Version 3.8.4 (Deutsch)
Copyright ©2000 - 2010, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.3.0

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 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47