MYSQL:获取一个特定属性小于其他特定属性的行

时间:2011-08-05 02:35:11

标签: mysql

我想知道如何进行此类查询:

我有一个包含大量属性的表。在这些属性中,有'distanceSydney,distanceBrisbane,distanceCanberra'等等。

我想计算行数,例如distanceSydney是最小的行数。 我想我需要一个MIN()函数来返回我们给它的最小的args。我找不到这个功能......

我试过了:

SELECT COUNT(id) FROM  `shops` WHERE MIN( `distanceSydney`, `distanceCanberra` ) = `distanceSydney`

但当然,MySQL错误。

提前致谢! 巴斯蒂安。

3 个答案:

答案 0 :(得分:1)

SELECT COUNT(*) as count
FROM shops
WHERE distanceSydney < distanceCanberra
AND distanceSydney < distanceBrisbane
AND distanceSydney < distanceMelbourne
-- etc for other distance columns

答案 1 :(得分:1)

这不会吗?

SELECT COUNT(id) FROM shops WHERE distanceSydney <= distanceCanberra

答案 2 :(得分:0)

MIN function存在,您只需稍微改变一下即可。首先获取最小值,然后COUNTWHERE它是该值