2012-06-11 25 views
1

我想从具有最小值的行对具有特定值的行进行计数。 例如,在mysql数据库中对行进行计数

Name/Point 
-------------------- 
Pikachu/7 
Voltorb/1 
Abra/4 
Sunflora/3 
Squirtle/8 
Snorlax/12 

我要计数到7,所以我得到的 '4' 返回的结果(具有值1,3,4计数的行,7)

我知道我应该使用count()或mysql_num_rows(),但我想不出具体的细节。 谢谢。

回答

1

如果你使用MySQL,那么你可以ORDER BY点:

SELECT count(*) FROM table WHERE Point < 7 ORDER BY Point ASC 

如果你想知道所有关于ORDER BY,检查W3Schools的页面:http://www.w3schools.com/sql/sql_orderby.asp

以防万一你想只基于点值计算行数:

SELECT count(*) FROM table WHERE Point < 7 GROUP BY Point 
+0

为什么按顺序? “ –

+0

”对于具有特定值的行最小值的行“使我认为他想确保Point值中存在某种顺序,而不仅仅是在这些特定情况下它们正确对齐。 – Stephen

+2

如果您仅返回行数,则订单无用。 –

2

我想你想要这样的:

select count(*) from mytable where Point<=7; 

Count(*)计数所有行一组。

1

这可能会帮助你获得行值范围之间掉落:

select count(*) from table where Point >= least_value and Point<= max_value