AllesMeins: MySQL - Mindestens 3 Ergebnisse

Hiho,

ich möchte gerne mit einer MySQL Abfrage folgendes erreichen: Aus einer Tabelle sollen alle Einträge der letzten 14 Tage ausgegeben werden (es gibt ein Datumsfeld in der Tabelle) und alle, bei denen die Spalte "wichtig" ungleich null ist. Soweit so einfach: Es sollen aber auf jeden Fall (unabhängig von den anderen Kriterien) mindestens 3 Einträge ausgegeben werden.

Also wenn ich 10 Einträge in den letzten 14 Tagen habe und noch zusätzlich 4 "wichtige" dann sollen diese 14 Einträge ausgegeben werden. Hab ich aber nur einen eintrag aus den letzten 14 Tagen (und vielleicht einen wichtigen) sollen trotzdem insgesammt 3 ausgegeben werde.

Ist das mit einem MySQL Query machbar oder muss ich da einfach "alles" auslesen und auf "nachbearbeitung" der Ergebnisse per PHP zurückgreifen...

Grüsse

Marc

  1. Sup!

    Vielleicht kannst Du eine Union von den Ergebnissen der letzten 14 Tage und den drei letzten Einträgen und allen wichtigen Ergebnissen machen.

    quasi

    select distinct (select [14 tage OR wichtig] UNION select [drei letzte Einträge]);

    Dann hast Du mindestens drei Einträge, und sofern die drei letzten Einträge in den letzten 14 Tagen waren, fallen sie automatisch wieder raus.

    Gruesse,

    Bio

    --
    Never give up, never surrender!!!
    1. Hi,

      select distinct (select [14 tage OR wichtig] UNION select [drei letzte Einträge]);

      da Du heute ja kraeftig die DISTINCT-Klausel zu promoten scheinst. Triviale Anwendungen derselben scheint es m.E. nicht zu geben und meist dient diese dem Dumpfbackenadministrator/-Analysierer dazu noch ein paar Ergebnisse aus der Datenbasis zu pressen. (So zu sagen Selbsterhaltung, bevor alles rauskommt... ;-)

      DISTINCT sucks .

      Gruss,
      Ludger

      1. Sup!

        DISTINCT rockt total, ey!

        Gruesse,

        Bio

        --
        Never give up, never surrender!!!
        1. puts "Hallo " + gets.chomp + "."

          ?> Bio
          => Hallo Bio.

          DISTINCT rockt total, ey!

          Dis' stinkt!

          Einen schönen Samstag noch.

          Gruß, Ashura

          --
          Selfcode: sh:( fo:) ch:? rl:( br:^ n4:& ie:{ mo:) va:) de:> zu:) fl:( ss:| ls:[ js:|
          30 Days to becoming an Opera8 Lover -- Day 20: search.ini
          Meine Browser: Opera 8.01 | Firefox 1.0.4 | Lynx 2.8.3 | Netscape 4.7 | IE 6.0
          [Deshalb frei! - Argumente pro freie Software]
          1. Hi,

            DISTINCT rockt total, ey!

            Dis' stinkt!

            ich wuerde mir einen biometrisch abgesicherten IQ 100 - Filter wuenschen hier. Der v.Gravenreuth vermutlich auch...      ;-)

            Gruss,
            Ludger

    2. Hiho,

      kennst du zufällig eine entsprechende Erklärung zur DISTINCT Syntax? Imn den mySQL Docs finde ich nur wie es optimiert wird, nicht aber wie man es überhaupt anwendet...

      Grüsse

      Marc