我有一个用户购买/卖出股票的数据库,需要通过对该特定用户的所有共享进行汇总来检索数据。
例:如果我选择user_id = 7,它应该返回两行,一列是特斯拉,另一排是苹果,包含股票的总和。
数据库:

我尝试过的SQL查询包括:
SELECT name,symbol,name,price,total, SUM(shares)
FROM symbol
WHERE user_id=7
GROUP BY name,symbol,name,price,total返回:但是应该是两行

发布于 2022-01-10 20:52:32
你的问题是你的分组。
考虑您所分组的内容的唯一性,即您将返回多少行。
使用where子句和按name,symbol,name,price,total分组,有三个唯一的行。
从分组中删除price和total列,您将得到所需的两行,或者将它们作为sum列包含在查询中。
例如:
SELECT name,symbol,name,SUM(shares)
FROM symbol
WHERE user_id=7
GROUP BY name,symbol,namehttps://stackoverflow.com/questions/70658424
复制相似问题