我只有一个名为offer的表,并且它有多个商品,例如每次我们提供商品时,我们会创建一个新行,例如:前往Timbuktu,每行可以有10行或更多行包含优惠,每次提供优惠时,都会在列名“created_on”中使用PHP unix时间戳保存,因此要确定哪个优惠是最新的,我目前正在使用以下查询:
SELECT * FROM
offers
WHERE city ='Timbuktu'AND created_on =(SELECT max(created_on)from offers WHERE city ='Timbuktu')
如果我只需要获取一个最新的行,如果我想获取具有最大时间戳的最后4行或8行,那么这是有用的,我怎么能以最有效的方式做到这一点?
答案 0 :(得分:1)
SELECT *
FROM offers
WHERE city= 'Timbuktu'
order by created_on desc
limit 0, 8
并且对于1行,您可以使用相同的请求,只需将1替换为1
答案 1 :(得分:1)
SELECT * FROM offers WHERE city='Timbuktu' ORDER BY created_on DESC LIMIT 4;