AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi was ist das ggt von first?
Thema durchsuchen
Ansicht
Themen-Optionen

was ist das ggt von first?

Ein Thema von sancho1980 · begonnen am 17. Okt 2006 · letzter Beitrag vom 18. Okt 2006
Antwort Antwort
sancho1980

Registriert seit: 7. Feb 2006
429 Beiträge
 
#1

was ist das ggt von first?

  Alt 17. Okt 2006, 21:51
Datenbank: firebird • Version: 1.5 • Zugriff über: ibx, ibexpert
angenommen ich will von einer tabelle die ersten 5 einträge haben, dann kann ich schreiben:

select first 5 * from tabelle order by ascending tabelle wie mach ich es aber, wenn ich nicht die ersten 5, sondern die letzten 5 haben will ? (die aufsteigende sortierung soll aber beibehalten werden)

select last 5 * from tabelle order by ascending tabelle schluckt fb jedenfalls nicht
Um Rekursion zu verstehen, muss man zunächst Rekursion verstehen.
  Mit Zitat antworten Zitat
Benutzerbild von Matze
Matze
(Co-Admin)

Registriert seit: 7. Jul 2003
Ort: Schwabenländle
14.929 Beiträge
 
Turbo Delphi für Win32
 
#2

Re: was ist das ggt von first?

  Alt 17. Okt 2006, 21:58
Hi,

gibt es bei Firebird nicht auch LIMIT?
  Mit Zitat antworten Zitat
Benutzerbild von Union
Union

Registriert seit: 18. Mär 2004
Ort: Luxembourg
3.487 Beiträge
 
Delphi 7 Enterprise
 
#3

Re: was ist das ggt von first?

  Alt 17. Okt 2006, 21:59
So könnte es gehen:
SQL-Code:
select subquery.* from
( select first 5 * from tabelle order by blafeld descending ) subquery
order by blafeld ascending
Ibi fas ubi proxima merces
sudo /Developer/Library/uninstall-devtools --mode=all
  Mit Zitat antworten Zitat
sancho1980

Registriert seit: 7. Feb 2006
429 Beiträge
 
#4

Re: was ist das ggt von first?

  Alt 17. Okt 2006, 22:07
Zitat von Matze:
Hi,

gibt es bei Firebird nicht auch LIMIT?
kannst du das mal im kontext verwenden?
Um Rekursion zu verstehen, muss man zunächst Rekursion verstehen.
  Mit Zitat antworten Zitat
Benutzerbild von Matze
Matze
(Co-Admin)

Registriert seit: 7. Jul 2003
Ort: Schwabenländle
14.929 Beiträge
 
Turbo Delphi für Win32
 
#5

Re: was ist das ggt von first?

  Alt 17. Okt 2006, 22:19
Ich kenne mich mit Firebird nicht aus, doch die meisten Datenbanken kennen diesen Befehl. Anzuwenden ist er so:

SELECT * FROM tabelle ORDER BY blubb ASC LIMIT [Anzahl der Zeilen - 6], 5 Der erste "Parameter" nach Limit gibt den Offset (Startdatensatz) an, beginnend bei 0, der zweite ist die Anzahl der Datensätze. ANzahl der Zeilen ist bei dir dann etwas wie "count(*)", denke ich mal.
Ob das bei Firebird auch so geht, weiß ich aber leider nicht, evtl. bringe ich dich auch nur durcheinander, da man das so nicht machen kann. SOrry, falls es so sein sollte.
  Mit Zitat antworten Zitat
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.270 Beiträge
 
Delphi 10.4 Sydney
 
#6

Re: was ist das ggt von first?

  Alt 17. Okt 2006, 22:22
Hallo,

unter FB1.5 gibt es kein Limit.
Als Abhilfe wäre hier nur eine SP
mit Order By XX Desc und dem selbständigen Zählen in der SP


Heiko
Heiko
  Mit Zitat antworten Zitat
Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#7

Re: was ist das ggt von first?

  Alt 18. Okt 2006, 00:46
Zitat von hoika:
Als Abhilfe wäre hier nur eine SP
War auch mein erster Gedanke. Aber nur wenns wirklich nicht anders gehen sollte. Unions Lösung ist aber einfacher und sie geht definitiv so (man holt sich die letzten 5 Records in eine Datenmenge und sortiert die paar dann nochmals).

Und @Sancho : Du investierst viel Zeit in Dein Programm. Und zwar auf IBX-Basis. Das geht IMHO nicht mehr lange gut. Auch FIRST kam erst mit Firebird. Glaube das "Limit" ist Interbase. Dürfte in dem Fall hier zwar egal sein, weil nur ein String als Befehl an die DB geschickt wird. Aber wenn Du so weitermachst, dann taucht ein Problem auf und mit IBX ist nichts mehr zu machen. Das kann sehr schnell schlimm werden. Dann heißt es nämlich : DB umbauen und/oder auf Interbase umsteigen und Programm im DB-Bereich komplett neu machen !
Gruß
Hansa
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#8

Re: was ist das ggt von first?

  Alt 18. Okt 2006, 05:18
Ab FB 2 könnte man auch eine Derived Table verwenden statt der UNION.
Markus Kinzler
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:55 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