我的表中有以下列:

name | columnA | columnB

我试图调用以下查询:
SELECT name, columnA + columnB AS price
FROM house
WHERE NOT (columnA IS NULL OR columnB IS NULL)
GROUP BY name
ORDER BY price

这让我想到:
house.columnA需要按条款分组。-我不知道该怎么理解。
我要做的是接收表,其中有namehouse和列price,这两个列都不为空时,才等于columnA + columnB。我想按计算出的价格来分类。
我在哪里做错了?

最佳答案

有两种选择:
选项1-不需要分组依据。如果每个名称只有一行,则会发生这种情况,在这种情况下:

SELECT name,columnA+columnB as price
FROM house
WHERE columnA is not null
 AND columnB is not null
ORDER BY price

选项2-需要分组方式,这意味着每个名称有多于一行,在这种情况下,应该使用SUM
SELECT name,sum(columnA+columnB) as price
FROM house
WHERE columnA is not null
 AND columnB is not null
GROUP BY name
ORDER BY price

关于sql - 列和分组依据的总和问题,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/37005615/

10-12 22:55