Hypercell ein ] Hypercell aus ] Zeige Navigation ] Verstecke Navigation ]
c++.de  
   

Die mobilen Seiten von c++.de:
http://m.c-plusplus.de
Infos hier [BETA]

  
c++.de :: Datenbanken ::  Oracle - GROUP BY - Problem     Zeige alle Beiträge auf einer Seite Auf Beitrag antworten
Autor Nachricht
Gustl
Mitglied

Benutzerprofil
Anmeldungsdatum: 07.04.2008
Beiträge: 266
Beitrag Gustl Mitglied 12:37:44 22.05.2012   Titel:   Oracle - GROUP BY - Problem            Zitieren

Hallo,

habe folgende Table:

Code:
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
    ZEITSTEMPEL                AUFTRAGS_IDENT
 
1  | 2012-05-21 19:05:32 792  | 1011132_ES003_A5E03695175--B
 
2  | 2012-05-21 19:28:34 230  | 1011132_ES003_A5E03695175--B
 
3  | 2012-05-21 19:34:35 042  | 1011132_ES003_A5E03695175--B
 
4  | 2012-05-21 19:38:34 453  | 1011132_ES003_A5E03695175--B
 
5  | 2012-05-21 19:52:38 775  | 1011132_ES003_A5E03695175--T
 
6  | 2012-05-21 20:39:08 963  | 1004802_B_A5E00432155--B
 
7  | 2012-05-21 20:57:13 070  | 1004802_B_A5E00432155--T
 
8  | 2012-05-22 06:44:35 085  | 1010967_A_A5E03360313--T
 
9  | 2012-05-22 07:40:15 811  | 1002009_A_A5E00263261--T
 
10 | 2012-05-22 08:29:46 858  | 1008557_003_A5E00372863--B
 
11 | 2012-05-22 09:53:19 192  | 1008557_003_A5E00372863--T
 
12 | 2012-05-22 11:02:39 069  | 1010967_A_A5E03360313--B


Jetzt möchte ich die mehrfachen AUFTRAGS_IDENT raus haben, quasi nach denen gruppieren.

sodass die Table in diesem Beispiel so aussieht:

Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
    ZEITSTEMPEL                AUFTRAGS_IDENT
 
1  | 2012-05-21 19:05:32 792  | 1011132_ES003_A5E03695175--B
 
2  | 2012-05-21 19:52:38 775  | 1011132_ES003_A5E03695175--T
 
3  | 2012-05-21 20:39:08 963  | 1004802_B_A5E00432155--B
 
4  | 2012-05-21 20:57:13 070  | 1004802_B_A5E00432155--T
 
5  | 2012-05-22 06:44:35 085  | 1010967_A_A5E03360313--T
 
6  | 2012-05-22 07:40:15 811  | 1002009_A_A5E00263261--T
 
7  | 2012-05-22 08:29:46 858  | 1008557_003_A5E00372863--B
 
8  | 2012-05-22 09:53:19 192  | 1008557_003_A5E00372863--T
 
9  | 2012-05-22 11:02:39 069  | 1010967_A_A5E03360313--B


Aber wenn ich bei oracle nur nach AUFTRAGS_IDENT gruppiere, bringt er mir einen Fehler, was ja nachvollziehbar ist, da alle selects auch in group by sein müssen:

Code:
SELECT auf.AUFTRAGS_IDENT, auf.ZEITSTEMPEL FROM TRACEDATEN_AUFTRAG auf GROUP BY auf.AUFTRAGS_IDENT
 
ORDER BY auf.ZEITSTEMPEL


Zudem muss ich den Zeitstempel noch ordnen lassen (ORDER BY)

Ich habe jetzt keine Idee wie ich das lösen könnte, vielleicht kann mir hier einer helfen?

Gruß Gustl
asc
Mitglied

Benutzerprofil
Anmeldungsdatum: 13.01.2007
Beiträge: 5713
Beitrag asc Mitglied 12:50:14 22.05.2012   Titel:   Re: Oracle - GROUP BY - Problem            Zitieren

Gustl schrieb:
Ich habe jetzt keine Idee wie ich das lösen könnte, vielleicht kann mir hier einer helfen?


Das kommt ganz darauf an welcher Zeitstempel verwendet werden soll. Deine Gruppierung kann nur gehen, wenn du dich festlegt wie die Zeitstempel zusammengefasst werden.

z.B.:

Code:
SELECT auf.AUFTRAGS_IDENT, MAX(auf.ZEITSTEMPEL) as MaxZeitstempel
FROM TRACEDATEN_AUFTRAG auf
GROUP BY auf.AUFTRAGS_IDENT
ORDER BY auf.ZEITSTEMPEL

_________________
in theory there's no difference between theory and practice. in practice there is. (yogi berra)

In der Theorie gibt es kein Unterschied zwischen Theorie und Praxis. In der Praxis sehr wohl.
nman
Moderator

Benutzerprofil
Anmeldungsdatum: 19.02.2002
Beiträge: 13912
Beitrag nman Moderator 12:50:29 22.05.2012   Titel:              Zitieren

Fragen wir mal so: Welcher Zeitstempel soll denn angezeigt werden?

Wenn du das so loesen moechtest, brauchst du irgendeine passende Aggregatfunktion, also zB. min oae.

Damit selektierst du dann eben min(zeitstempel), auftrags_ident und gruppierst nach auftrags_ident.

_________________
…but tuesday's just as bad.
Gustl
Mitglied

Benutzerprofil
Anmeldungsdatum: 07.04.2008
Beiträge: 266
Beitrag Gustl Mitglied 13:25:18 22.05.2012   Titel:              Zitieren

ja, danke, genau da war das Problem. MAX ist hier in meinem Fall die Lösung.

Danke euch!

Gruß un einen schönen Tag!
Gustl
c++.de :: Datenbanken ::  Oracle - GROUP BY - Problem   Auf Beitrag antworten

Zeige alle Beiträge auf einer Seite




Nächstes Thema anzeigen
Vorheriges Thema anzeigen
Sie können Beiträge in dieses Forum schreiben.
Sie können auf Beiträge in diesem Forum antworten.
Sie können Ihre Beiträge in diesem Forum nicht bearbeiten.
Sie können Ihre Beiträge in diesem Forum nicht löschen.
Sie können an Umfragen in diesem Forum nicht mitmachen.

Powered by phpBB © 2001, 2002 phpBB Group :: FI Theme

c++.de ist Teilnehmer des Partnerprogramms von Amazon Europe S.à.r.l. und Partner des Werbeprogramms, das zur Bereitstellung eines Mediums für Websites konzipiert wurde, mittels dessen durch die Platzierung von Werbeanzeigen und Links zu amazon.de Werbekostenerstattung verdient werden kann.

Die Vervielfältigung der auf den Seiten www.c-plusplus.de, www.c-plusplus.info und www.c-plusplus.net enthaltenen Informationen ohne eine schriftliche Genehmigung des Seitenbetreibers ist untersagt (vgl. §4 Urheberrechtsgesetz). Die Nutzung und Änderung der vorgestellten Strukturen und Verfahren in privaten und kommerziellen Softwareanwendungen ist ausdrücklich erlaubt, soweit keine Rechte Dritter verletzt werden. Der Seitenbetreiber übernimmt keine Gewähr für die Funktion einzelner Beiträge oder Programmfragmente, insbesondere übernimmt er keine Haftung für eventuelle aus dem Gebrauch entstehenden Folgeschäden.