Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Hilfe für SQL Statement (https://www.delphipraxis.net/158380-hilfe-fuer-sql-statement.html)

bwolf 15. Feb 2011 14:33

Datenbank: ADS • Version: 10 • Zugriff über: TDataSet Descendant

Hilfe für SQL Statement
 
Hi,

ich brauche ein kleines SQL Statement aber kriege es nicht hin..
Ich will folgende Auswahl aus einer Datemenge haben:

ID User Zeit
1 55 13:00
2 55 13:05
3 55 13:10 <---
4 66 12:50
5 66 13:30 <---
6 77 15:00
7 77 16:07
8 77 16:12 <---

Ich möchte also immer den aktuellsten Datensatz für jeden Benutzer.
Hat jemand eine Idee wie das zu selektieren wäre?
Vielen Dank!

DeddyH 15. Feb 2011 14:35

AW: Hilfe für SQL Statement
 
SQL-Code:
SELECT
  ID, User, Zeit
FROM
  Tabelle A
WHERE Zeit = (
  SELECT
    MAX(Zeit)
  FROM
    Tabelle
  WHERE
    User = A.User
)
Ungetestet

mkinzler 15. Feb 2011 14:36

AW: Hilfe für SQL Statement
 
SQL-Code:
select
    user,
    max(datum) as datum
from
    <Tabelle>
group by
    user;

nahpets 15. Feb 2011 14:38

AW: Hilfe für SQL Statement
 
Hallo,
Code:
select id, user, max(zeit) from tabelle group by id, user
auch ungetestet

mkinzler 15. Feb 2011 14:39

AW: Hilfe für SQL Statement
 
Zitat:

Zitat von nahpets (Beitrag 1081852)
Hallo,
Code:
select id, user, max(zeit) from tabelle group by id, user
auch ungetestet

Dann kommt das gleiche, wie ohne Gruppierung raus, da ID ja eindeutig ist

DeddyH 15. Feb 2011 14:41

AW: Hilfe für SQL Statement
 
Eben. Wenn man die ID nicht braucht, kann man gruppieren, ansonsten muss man halt meine Lösung (oder eine ähnliche) anwenden.

bwolf 15. Feb 2011 14:48

AW: Hilfe für SQL Statement
 
Vielen Dank, das passt...
Da ich die ID's zu den Datensätzen benötige, ist dieser Select wohl der richtige.

Zitat:

Zitat von DeddyH (Beitrag 1081850)
SQL-Code:
SELECT
  ID, User, Zeit
FROM
  Tabelle A
WHERE Zeit = (
  SELECT
    MAX(Zeit)
  FROM
    Tabelle
  WHERE
    User = A.User
)
Ungetestet


nahpets 15. Feb 2011 14:53

AW: Hilfe für SQL Statement
 
Zitat:

Zitat von mkinzler (Beitrag 1081853)
Zitat:

Zitat von nahpets (Beitrag 1081852)
Hallo,
Code:
select id, user, max(zeit) from tabelle group by id, user
auch ungetestet

Dann kommt das gleiche, wie ohne Gruppierung raus, da ID ja eindeutig ist

Stimmt :oops:


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

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz