2012-09-11 198 views
0

所以我有一个名为城市与属性路径(可以有重复或更多的平等条目),名称和公里,我需要过滤它,使我有只有一个项目的每个最高公里的路径。我现在已经是SQL查询或子查询

SELECT cities.* 
FROM cities, categories 
group by cities.path , cities.kms 
ORDER BY cities.kms desc 

的问题是,它给我回重复条目路径(至极,我不想),也它不按公里才能像我想要的。我该怎么办?

+1

你可以编辑添加你的输出+你想要的输出吗? – 2012-09-11 14:49:46

+0

您应该从表格中显示一些样本数据。 –

回答

3

我没有看到您的查询中的categories表的目的,所以我已经在我的答案中排除了它。

SELECT c1.path, c1.name, c1.kms 
    FROM cities c1 
     INNER JOIN (SELECT c2.path, MAX(c2.kms) AS Maxkms 
         FROM cities c2 
         GROUP BY c2.path) q 
      ON c1.path = q.path 
       AND c1.kms = q.Maxkms 
+0

谢谢你这就是它 – psychok7

1

仅与MAX(kms)GROUP BY path

SELECT cities.path, MAX(cities.kms) 
FROM cities 
GROUP BY cities.path 
ORDER BY cities.kms desc 

ORDER BY应由kms顺序,除非它是数字型的不可能是字符串。确保它的类型。