我的表中有以下列:
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需要按条款分组。-我不知道该怎么理解。
我要做的是接收表,其中有
name
的house
和列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/