如何使用动态选择列名来在选择查询中求和?

时间:2017-04-10 17:25:30

标签: mysql sql

我想我可能会接近这一切,所以如果我愿意,请告诉我!

我有一张看起来像这样的表:

Id | Region |  0 | 10 | 20 | 30 | 40 | 50
-----------------------------------------
01 | London | 24 | 45 | 38 | 29 | 36 | 49
-----------------------------------------
02 | Bham   | 27 | 42 | 33 | 31 | 38 | 41 
-----------------------------------------
03 | Lpool  | 23 | 38 | 29 | 31 | 34 | 49 

如果一行代表一个区域,其后是0-10,10-20,20-30等年龄段的人口。我希望能够选择给定年龄范围的总人口。例如。 10-40:

SELECT (p.10 + p.20 + p.30) FROM Population p WHERE Id = 01

如何使用自定义范围进行此操作?例如。一个存储过程,它接受年龄范围的最小值和最大值。 SP不是问题,只是能够动态定义要求和的列范围。

2 个答案:

答案 0 :(得分:0)

你可以使用' AND'给出另一个条件。手术 而你做错了

SELECT (p.10 + p.20 + p.30) FROM Population p WHERE Id = 01

你缺少人口p之间的下划线。还有别的 试试这个:

SELECT * FROM table WHERE  BETWEEN 10 and 40 AND id=id_no

答案 1 :(得分:-1)

如果要在自定义范围内选择,则查询如下: -     选择*来自     介于和之间;