我想选择desc排序的多行。例如,我想为Kandy,Ampara& amp; Anuradhapura ..请从下面的链接查看我的数据库的屏幕截图。
我试过了:
SELECT thripstot, g_midgetot, l_foldertot
FROM pest_data
WHERE district = 'ampara' OR district = 'kandy' OR district = 'anuradhapura'
order by id desc
limit 0,1;
并没有提供我需要的结果。
答案 0 :(得分:5)
如果我理解正确,您希望获得district
子句中定义的每个指定where
的最新记录。
如果将{em> Auto_increment 列设置为 Auto_increment 列,则可以使用子查询分别获取每个district
的最新记录ID
。为了获取所选最新行中的所有行,您需要将其与原始表连接,前提是它与district
和ID
匹配。
SELECT a.thripstot, a.g_midgetot, a.l_foldertot
FROM tableName a
INNER JOIN
(
SELECT district, MAX(id) max_id
FROM tableName
GROUP BY district
) b ON a.district = b.district AND
a.id = b.max_id
WHERE a.district IN ('ampara','kandy', 'anuradhapura')