获取sql中的多个列的总和

时间:2017-07-17 05:18:09

标签: php mysql sql

在数据库中我有这样的表:

| id  hotel_id | room_id | Ac_rooms | Non_ac_rooms | simple_rooms | Furnitured_room | other_rooms | added_by  |
| 9            |     2   |      3   |       2       |      6      |       12        |      21      |      raj  |

我想从SQL查询中获取房间总数(这是room_id,Ac_rooms,Non_ac_rooms,simple_rooms,Furnitured_room,other_rooms的总数)。

从SQL查询中获取总数的最佳方法是什么?我需要总行数。

2 个答案:

答案 0 :(得分:1)

如果我理解正确,你只需要总和

select (ac_rooms + Non_ac_rooms + simple_rooms + Furnitured_room + other_rooms) as total_rooms from YOUR_TABLE

您还指定了查找总行数,您可以使用标准count函数获取

select count(*) as number_of_rows from YOUR_TABLE

或者您可能正在寻找所有行中房间类型的总和?在这种情况下,您将需要

select sum(ac_rooms ), sum(Non_ac_rooms), sum(simple_rooms), sum(Furnitured_room), sum(other_rooms) from YOUR_TABLE

UPD:如果我说对了你,你需要这个

select sum(ac_rooms ) as ac_rooms_total,
       sum(Non_ac_rooms) as non_ac_rooms_total,
       sum(simple_rooms) as simple_rooms_total,
       sum(Furnitured_room) as furnitured_room_total,
       sum(other_rooms) as other_rooms_total,
       sum(ac_rooms + Non_ac_rooms + simple_rooms + Furnitured_room + other_rooms) as TOTAL
from YOUR_TABLE

答案 1 :(得分:1)

试试这个:

SELECT
SUM(Ac_rooms) as Ac_rooms,
SUM(Non_ac_rooms) as Non_ac_rooms,
SUM(Simple_rooms) as Simple_rooms,
SUM(Furnitured_rooms) as Furnitured_room,
SUM(Other_rooms) as Other_rooms,
SUM(Ac_rooms+Non_ac_rooms+Simple_rooms+Furnitured_room+Other_rooms) as Total_rooms,
FROM tbl_rooms

或者

SELECT
SUM(SUM(Ac_rooms)+SUM(Non_ac_rooms)+SUM(Simple_rooms)+SUM(Furnitured_room)+SUM(Other_rooms)) as Total_rooms,
FROM tbl_rooms