Andi: MAX von MAX

Hallo,

ich habe folgende Beispielquery:

SELECT MAX(v.timestamp),MAX(v1.timestamp)
FROM Values v
INNER JOIN Values1 v1
  on v1.RID = v.RID

Ich möchte jetzt aber auch von diesen 2 Werten den max. Wert haben.
Praktisch ein MAX(MAX(v.timestamp),MAX(v1.timestamp)).

Das funktioniert aber nicht. Ich habe leider keine andere Funktion gefunden.

Grüße
Andi

  1. Hi!

    Fülle mit den beiden Ergebnismengen eine gemeinsame Spalte.

    Gruß
    Olli

    1. Hallo,

      Fülle mit den beiden Ergebnismengen eine gemeinsame Spalte.

      Das ist aber nur mit einem Union möglich. Die finde ich nicht so dolle. Andere Vorschläge?

      Danke trotzdem.

      Gruß
      Andi

      1. Hi,

        Das ist aber nur mit einem Union möglich. Die finde ich nicht so dolle. Andere Vorschläge?

        Mach den Vergleich anschliessend im verwendeten Programm/Script.

        1. Hallo,

          Das ist aber nur mit einem Union möglich. Die finde ich nicht so dolle. Andere Vorschläge?

          Mach den Vergleich anschliessend im verwendeten Programm/Script.

          Leider möchte ich das nicht, weil ich das in einer größeren Query einbauen muss. Somit brauche ich 2 aufrufe.

          Gruß
          Andi

  2. Hi!

    Ich hab mal versucht, das was ich hier vor 2 Stunden gelernt hab anzuwenden:

    SELECT IF(MAX(v.timestamp)>MAX(v1.timestamp),MAX(v.timestamp),MAX(v1.timestamp))
     FROM Values v
     INNER JOIN Values1 v1
       on v1.RID = v.RID

    HAt bei mir funktioniert.

    Grüßle Jo

    1. Hallo,

      Ich hab mal versucht, das was ich hier vor 2 Stunden gelernt hab anzuwenden:

      SELECT IF(MAX(v.timestamp)>MAX(v1.timestamp),MAX(v.timestamp),MAX(v1.timestamp))
      FROM Values v
      INNER JOIN Values1 v1
         on v1.RID = v.RID

      Ja das funktioniert. Leider kann ich das 10 Werte auch haben. Dann wirds ein bischen komplizierter.

      Gruß
      Andi

      1. versuchs mal so:

        SELECT MAX(v1.timestamp) as M1, MAX(v.timestamp) as M, MAX(M1,M) as M1M

        1. versuchs mal so:

          SELECT MAX(v1.timestamp) as M1, MAX(v.timestamp) as M, MAX(M1,M) as M1M

          Leider funktioniert das auch nicht

      2. yo,

        welces dbms und welche version ?

        Ja das funktioniert. Leider kann ich das 10 Werte auch haben. Dann wirds ein bischen komplizierter.

        was bedeutet das mit den 10 Werten, 10 spalten ?

        Ilja

        1. yo,

          welces dbms und welche version ?

          MySQL 4.4.xx

          Ja das funktioniert. Leider kann ich das 10 Werte auch haben. Dann wirds ein bischen komplizierter.

          was bedeutet das mit den 10 Werten, 10 spalten ?

          Ja 10 Spalten

          Gruß

          1. Hallo Andi,

            welces dbms und welche version ?

            MySQL 4.4.xx

            wo hast Du diese Version her? Nach meinen Informationen gibt es diese nicht.

            Freundliche Grüße

            Vinzenz

  3. gudn tach!

    Ich möchte jetzt aber auch von diesen 2 Werten den max. Wert haben.
    Praktisch ein MAX(MAX(v.timestamp),MAX(v1.timestamp)).

    Das funktioniert aber nicht. Ich habe leider keine andere Funktion gefunden.

    welches dbms?

    in mysql gibt's dafuer greatest.

    GREATEST(MAX(v.timestamp),MAX(v1.timestamp))

    prost
    seth

    1. gudn tach!

      Ich möchte jetzt aber auch von diesen 2 Werten den max. Wert haben.
      Praktisch ein MAX(MAX(v.timestamp),MAX(v1.timestamp)).

      Das funktioniert aber nicht. Ich habe leider keine andere Funktion gefunden.

      welches dbms?

      in mysql gibt's dafuer greatest.

      GREATEST(MAX(v.timestamp),MAX(v1.timestamp))

      ICH LIEBE DICH

      Gruß
      Andi

      1. gudn tach!

        GREATEST(MAX(v.timestamp),MAX(v1.timestamp))

        ICH LIEBE DICH

        ich denke auch, das ist das mindeste, was ich an ehre fuer diese ruhmreiche antwort verdient habe; andere haetten bloss auf den laeppischen "hilfreich"-button gedrueckt.

        prost
        seth