我试图根据一个常见的列值
对表的行求和 ID | cID |tokens
----|:----|:----
39 |2021 | 2
----|:----|:----
70 | 2240| 1
----|:----|:----
74 |1410 | 5
----|:----|:----
91 | 2427| 31
----|:----|:----
104 | 31 | 12
----|:----|:----
111 | 2432|11
----|:----|:----
369 | 363 | 4
----|:----|:----
370 |363 | 3
----|:----|:----
371 | 363 | 5
----|:----|:----
所以基本上试图让底部的3行加入"令牌"列,因为他们共享一个共同的" cID" (363)到最小的" ID"所有人的数量(369)
应该产生这样的东西: (上面所有其他行) 369 | 363 | 12
这将由一行C代码启动(错误)
sprintf(查询,"选择min(ID)作为ID,cID,sum(tokens)作为来自char_tokens group的标记ID");
在这里制作一张桌子时完全搞砸了......
有人可以帮忙吗? 提前谢谢。
答案 0 :(得分:0)
尝试
... group by cID
按ID分组没有任何意义,因为您只有唯一的ID
答案 1 :(得分:0)
您希望在同一个cID上对令牌进行求和,以便按cID而不是ID进行分组
select min(ID) as ID, cID, sum(tokens) as tokens from char_tokens group by cID
这应该完美无缺。