-1
SELECT card_id from logs
WHERE card_id in ('0001', '0002')
ORDER BY date desc limit 1
此代碼首先選擇與列表匹配的值,然後選擇最後一行。 如何首先選擇card_id中的最後一行並查看它是否與列表中的任何值匹配我想在SQL中的「WHERE」之前執行「ORDER BY」
SELECT card_id from logs
WHERE card_id in ('0001', '0002')
ORDER BY date desc limit 1
此代碼首先選擇與列表匹配的值,然後選擇最後一行。 如何首先選擇card_id中的最後一行並查看它是否與列表中的任何值匹配我想在SQL中的「WHERE」之前執行「ORDER BY」
以下是一種方法:使用子查詢從查詢中單獨選擇最後一條記錄card_id的值:如果您需要
SELECT l.card_id
FROM logs l
WHERE l.card_id IN ('0001','0002)
AND l.card_id IN (
SELECT TOP 1 card_id FROM logs ORDER BY [Date] DESC)
ORDER
之前WHERE
你必須嵌套它派生表:
select *
from
(SELECT card_id
from logs
ORDER BY date desc limit 1 -- find the last row first
) as dt
WHERE card_id in ('0001', '0002') -- and then filter
通過您所使用的關鍵術語,聽起來有一些代碼來走與查詢? –