[Delphi + FB] Zapytanie o ID_rekordu

0

Mam tabelę a w niej pola:
ID, numer, ....

Jak sformułować zapytanie do bazy aby program zwrócił mi ID dla najmniejszego numeru MIN(numer)?

Z góry dzięki

0

SELECT min(numer) FROM tabela;

Mniej więcej takie coś. Nie mam w tej chwili FB, więc zobacz czy działa.

0

Ale ja potrzebuję nie najmniejszą wartość kolumny "numer" tylko wartość z sąsiedniej kolumny "ID" dla której kolumna "numer" ma najmniejszą wartość. Inaczej - w kolumnie "numer" są liczby, któraś z nich jest najmniejsza. Pytanie brzmi: jaki jest jej ID ?

0

Dwa rozwiązania, czy dobre niech znawcy się wypowiedzą:
1). za pomocą order by, czyli najmniejszy numer będzie na pierwszej pozycji

SELECT * FROM tabela ORDER BY numer ASC; // można dodać LIMIT np: 5

2). dwa zapytania
Tak jak wyżej pisałem i wynik zapisać w zmiennej
Następnie
SELECT * FROM tabela WHERE numer=minimum;

0

Zrobiłem tym 2 sposobem, ale myślałem że można to zrobić w jakimś jednym sprytnym zapytaniu :)

0

a nie mozna tak:

SELECT * FROM tabela WHERE numer = (SELECT min(numer) FROM tabela);

0

Tego wolałem uniknąć, bo nie wiem czy wersja FB autora ma pozapytania

0

Ma, ma, i działa twoje zapytanie, ale... wyraźnie wolniej! mimo iż w bazie mam może 200 rekordów. Dlatego pozostawie jednak to 2-gie rozwiązanie-działa błyskawicznie.

0
procedure TForm1.Button1Click(Sender: TObject);
begin
   with ibquery1, sql do
    begin
     Close;
      Clear;
       Add('SELECT MIN (Pole1) FROM Nazwa_tabeli');
       Open;
      Edit1.Text:=ibquery1.Fields[0].AsString;
    end;
end;

1 użytkowników online, w tym zalogowanych: 0, gości: 1