2012-06-11 4 views
1

Я хочу рассчитывать из строки с наименьшим значением в строку с определенным значением. Например,Подсчет строк в базе данных mysql

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

Хочу рассчитывать на 7, так что я получаю возвращенный результат '4' (подсчет строк со значениями 1, 3, 4, 7)

Я знаю I должен использовать count() или mysql_num_rows(), но я не могу придумать специфику. Спасибо.

ответ

1

Если вы работаете с MySQL, то вы можете ORDER BY Point:

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

«строка с наименьшим значением для строки с определенным значением» заставляет меня думать, что он хочет убедиться, что в значениях Точки есть некоторый порядок, а не только в этом конкретном случае, когда они правильно выравниваются. – Stephen

+2

Если вы возвращаете только количество строк, порядок бесполезен. –

2

Я думаю, что вы хотите:

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

Count(*) подсчитывает все строки в наборе.

1

Это может помочь вам получить строки падения между диапазоном значений:

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