Sobes.tech
Middle

Чӣ гуна нишон додани суроғаи актуалӣ ва нарх барои ҳар як эълон дар SQL?

sobes.tech AI

Ҷавоб аз AI

Барои нишон додани суроға ва нархи ҳозира барои ҳар як эълон дар SQL, бояд муайян кард, ки "ҳозира" чӣ маъно дорад — одатан, ин навтарин сабт дар асоси сана ё версия барои ҳар як эълон аст.

Гумон мекунем, ки як ҷадвали ads бо сутунҳо: ad_id, address, price, updated_at вуҷуд дорад.

Маслиҳат барои савол, ки барои ҳар як эълон сабти бо санаи навсозии максималӣ интихоб мекунад:

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

Агар базаи додаҳо функсияҳои тирезавӣ (window functions) дастгирӣ кунад, метавонед истифода баред:

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;

Ин имкон медиҳад, ки барои ҳар як эълон суроға ва нархи навтарин гирифта шавад.