Stefan: (MS SQL) Letzten Datensatz nicht anzeigen?

Hallo,
ich suche händeringend einen MS SQL Befehl (für ASP/VB) der mir die letzten 9 Datensätze anzeigen (was auch bis hier noch kein Problem ist ...select Top 9...) nur jetzt den aktuellsten Datensatz nicht anzeigt.

Also ich brächte so in etwas einen Befehl, wie für mySQL Limit.

Bitte um Hilfe.
Danke.

mfg Stefan

  1. Hi,

    Also ich brächte so in etwas einen Befehl, wie für mySQL Limit.

    was haeltst Du von der TOP-Klausel des SELECT-Befehls?

    Gruss,
    Lude

    1. Hi,

      Also ich brächte so in etwas einen Befehl, wie für mySQL Limit.

      was haeltst Du von der TOP-Klausel des SELECT-Befehls?

      kleiner Nachtrag: Eine Top-Klausel um 10 Datensaetze abzubeissen und ein Sub-SELECT mit Top-Klausel auf diese Datensatzmenge um den ersten abzubeissen?

      Gruss,
      Lude

      1. kleiner Nachtrag: Eine Top-Klausel um 10 Datensaetze abzubeissen und ein Sub-SELECT mit Top-Klausel auf diese Datensatzmenge um den ersten abzubeissen?

        ...und jetzt wenn du mir noch sagen könntest wie dies funktioniert, wär ich dir wirklich dankbar :-)

        Wie soll ich zehn Datansätze abbeißen? Ich möchte aber nur 9 Datenaätze minus den ersten... Also acht.

        mfg Stefan

        1. Hi,

          Wie soll ich zehn Datansätze abbeißen? Ich möchte aber nur 9 Datenaätze minus den ersten... Also acht.

          aha, mundgerecht serviert. Machen wir doch gerne. Entspricht allerdings moeglicherweise nicht ganz dem SELF-Gedanken.

          select top 8
           Dummy.df_1, Dummy.df_2, ...
          from
           (
           select top 9
            df_1, df_2, ...
           from
            dt_1
           order by
            (<kriterium>)
           ) Dummy
          order by
           (<kriterium>)

          Wobei <kriterium> das Abbeissen abbildet.

          Gruss,
          Lude

  2. Moin!

    ich suche händeringend einen MS SQL Befehl (für ASP/VB) der mir die letzten 9 Datensätze anzeigen (was auch bis hier noch kein Problem ist ...select Top 9...) nur jetzt den aktuellsten Datensatz nicht anzeigt.

    Was hälst du davon, einfach die 9 Datensätze zu selektieren, und den ersten Datensatz einfach nicht mit auszugeben?

    - Sven Rautenberg

    --
    "Beim Stuff für's Web gibts kein Material, was sonst das Zeugs ist, aus dem die Sachen sind."
    (fastix®, 13. Oktober 2003, 02:26 Uhr -> </archiv/2003/10/60137/#m338340>)
  3. Servus,

    ich hoffe doch, Du verwendest eine ID in der Tabelle.
    Dann ist das natürlich recht einfach.

    Select tab1,tab2,tab3 from tabelle where tab4=1 and tab5=2 and ID != (select max(ID) from tabelle where tab4=1 and tab5=2 )

    Das geht natürlich auch schöner und einfacher mit group und so...
    Aber das dürfte Dir auch schon helfen.

    Dass mit der Id oder einem Timestamp ist recht wichtig, damit Du auch wirklich die richtige Reinhenfolge nachn aktualität bekommst.

    Gruss Matze