(各列に明確な意味合いの違いがあるなら別ですが)そもそものテーブル設計が悪いです。
データベースの列は、本来それぞれごとに意味合いの違うデータを入れるものなので、「行方向の集計が必要になる」という時点で、リレーショナルなデータ構造を取れていない、不適切な使い方となっている可能性が高いです。
もちろん、やろうと思えばやれなくはないのですが、極めて面倒なことになります。
sql
1SELECT `name`,
2(
3 (CASE WHEN `10-01` > 0 THEN 1 ELSE 0 END) +
4 (CASE WHEN `10-02` > 0 THEN 1 ELSE 0 END) +
5 (CASE WHEN `10-03` > 0 THEN 1 ELSE 0 END) +
6 (CASE WHEN `10-04` > 0 THEN 1 ELSE 0 END) +
7 (CASE WHEN `10-05` > 0 THEN 1 ELSE 0 END)
8) AS `plus`,
9(
10 (CASE WHEN `10-01` < 0 THEN 1 ELSE 0 END) +
11 (CASE WHEN `10-02` < 0 THEN 1 ELSE 0 END) +
12 (CASE WHEN `10-03` < 0 THEN 1 ELSE 0 END) +
13 (CASE WHEN `10-04` < 0 THEN 1 ELSE 0 END) +
14 (CASE WHEN `10-05` < 0 THEN 1 ELSE 0 END)
15) AS `minus` FROM original_table;
16