|
Помогите написать SELECT
|
|||
---|---|---|---|
#18+
есть табличка балов за тесты RightAnswer (v1,v2,v3,v4,v5 - все tinyint) v1 v2 v3 v4 v5 2 2 2 5 2 2 5 2 2 2 5 2 2 2 2 ... как сделать еще один столбец, где в каждой записи будет посчитано количество балов = 2 то есть v1 v2 v3 v4 v5 Сnt2 2 2 2 5 2 4 2 5 2 2 2 4 5 2 2 2 4 3 ????????????????????? ... |
|||
:
Нравится:
Не нравится:
|
|||
28.03.2001, 14:16 |
|
Помогите написать SELECT
|
|||
---|---|---|---|
#18+
Самое простое, что пришло в голову Може кто, что поинтереснее придумает SELECT * , CASE v1 WHEN 2 THEN 1 ELSE 0 END + CASE v2 WHEN 2 THEN 1 ELSE 0 END + CASE v3 WHEN 2 THEN 1 ELSE 0 END + CASE v4 WHEN 2 THEN 1 ELSE 0 END + CASE v5 WHEN 2 THEN 1 ELSE 0 END FROM test ... |
|||
:
Нравится:
Не нравится:
|
|||
28.03.2001, 14:28 |
|
Помогите написать SELECT
|
|||
---|---|---|---|
#18+
Спасибо. Работает ... |
|||
:
Нравится:
Не нравится:
|
|||
28.03.2001, 14:41 |
|
Помогите написать SELECT
|
|||
---|---|---|---|
#18+
В качестве изврата можно еще и так: Select *, (sign(1-sign(v1-2.1))+sign(1-sign(v2-2.1))+sign(1-sign(v3-2.1))+sign(1-sign(v4-2.1))/2 from RightAnswer (это в случае, если 2- минимальная оценка. Если это не так, то можно сделать аналогично) ... |
|||
:
Нравится:
Не нравится:
|
|||
29.03.2001, 03:34 |
|
Помогите написать SELECT
|
|||
---|---|---|---|
#18+
или так, используя битовые операции select *, (((v1&2) + (v2@2) + (v3&2) + (v4&2) + (v5&2)) / 2) as Сnt2 from RightAnswer ... |
|||
:
Нравится:
Не нравится:
|
|||
29.03.2001, 14:35 |
|
Помогите написать SELECT
|
|||
---|---|---|---|
#18+
опа,описался. вот так: select *, (((v1&2) + (v2&2) + (v3&2) + (v4&2) + (v5&2)) / 2) as Сnt2 from RightAnswer ... |
|||
:
Нравится:
Не нравится:
|
|||
29.03.2001, 14:37 |
|
|
start [/forum/topic.php?fid=46&tid=1827100]: |
0ms |
get settings: |
11ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
43ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
52ms |
get tp. blocked users: |
2ms |
others: | 264ms |
total: | 411ms |
0 / 0 |