|
|
|
| Вот хочу сделать следущее. В таблице table_result, есть поле curvalue. В нем хранятся значение в процентах от 0 до 100. Тип данных стоит varchar, хотя я пологаю что придется исправить на более подходящий, например, decimal.
Но вопрос вот в чем.
Допустим мне нужно подсчитать сколько в базе записей сколько в поле curvalue значений меньше 50%, и сколько записей где значение поля curvalue больше 50% и где значений меньше 75%, но больше 50%
Это, конечно, можно сделать несколькими запросами, но может и возможно сделать одним? | |
|
|
|
|
|
|
|
для: garold
(30.05.2010 в 19:03)
| | почему decimal? а не int или float?
SELECT SUM(curvalue > 50) AS GT_50
FROM table_result
|
| |
|
|
|
|
|
|
|
для: Trianon
(31.05.2010 в 01:20)
| | Если использовать int, разве это правильно будет. Ведь проценты это не целые числа, ведь значения могут быть такие 34.54 % Вот и подумал что decimal более подойдет. | |
|
|
|
|
|
|
|
для: garold
(31.05.2010 в 11:43)
| | проценты, при квантовании величины с точностью двух знаков, тут же становятся целыми числами. :)) Как и применяются в обиходе в большинстве случаев. В любой шоп зайдите, посмотрите дисконтную программу, акции распродаж и прочую маркетинговую замануху - увидите только целые числа процентов.
Вещественным числом, безусловно, можно выразить коэффициент более точно менее дискретно.
Но тогда
а) зачем держать его разделенным на сотню?
или
б) почему не держать его в типе float?
или а не и - потому что целая часть так или иначе будет храниться точно. Независимо от типа. | |
|
|
|