Sobes.tech
Middle

SQL-də hər elan üçün aktual ünvan və qiyməti necə göstərə bilərsiniz?

sobes.tech Süni İntellekt

AI-dan cavab

SQL-də hər elan üçün aktual ünvan və qiyməti göstərmək üçün "aktual"-ın nə demək olduğunu müəyyən etmək lazımdır — adətən, hər elan üçün tarix və ya versiya üzrə ən son qeyddir.

Tutaq ki, ad_id, address, price, updated_at sütunlarına malik ads cədvəli var.

Hər elan üçün ən son yeniləmə tarixinə malik qeydi seçən sorğu nümunəsi:

SELECT ad_id, address, price
FROM ads a
WHERE updated_at = (
    SELECT MAX(updated_at)
    FROM ads
    WHERE ad_id = a.ad_id
);

Əgər verilənlər bazası pəncərə funksiyalarını dəstəkləyirsə, istifadə edə bilərsiniz:

SELECT ad_id, address, price
FROM (
    SELECT *, ROW_NUMBER() OVER (PARTITION BY ad_id ORDER BY updated_at DESC) as rn
    FROM ads
) sub
WHERE rn = 1;

Bu, hər elan üçün ən son ünvan və qiyməti əldə etməyə imkan verir.