Php 如何使用ORDER BY选择多行
我想选择多个按desc排序的行。例如,我想为Kandy、Ampara和Anuradhapura选择最后添加的行。。请从下面的链接查看我的数据库的屏幕截图 我试过:Php 如何使用ORDER BY选择多行,php,mysql,sql,greatest-n-per-group,Php,Mysql,Sql,Greatest N Per Group,我想选择多个按desc排序的行。例如,我想为Kandy、Ampara和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; 这
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;
这并不是我所需要的结果 如果我理解正确,您希望获得where子句中定义的每个指定地区的最新记录 如果设置为自动增量列,则可以使用子查询,通过最大ID分别获取每个地区的最新记录。为了从选定的最新行中获取所有行,您需要将其与原始表联接,前提是它与地区和ID匹配
如果我理解正确,您希望获得where子句中定义的每个指定地区的最新记录 如果设置为自动增量列,则可以使用子查询,通过最大ID分别获取每个地区的最新记录。为了从选定的最新行中获取所有行,您需要将其与原始表联接,前提是它与地区和ID匹配
如果他希望每个“安帕拉”、“坎迪”、“阿努拉达普拉”@Akam最后一行,查询将根据ID为您提供每个地区的最新一行。谢谢您的回答。。那对我来说是最合适的。但是在你的查询中应该有一个区。它错过了alias@Chaturanga是的,你是对的,所以它不会抛出模棱两可的列错误。如果他希望每个“安帕拉”、“坎迪”、“阿努拉达普拉”@Akam最后一行,查询将根据ID为你提供每个地区的最新一行。谢谢你的回答。。那对我来说是最合适的。但是在你的查询中应该有一个区。它错过了alias@Chaturanga是的,您是对的,所以它不会抛出不明确的列错误。
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')