特殊选择语句(sqlite)
- 表:“用户”
- 用户 ID - 姓名 -
(每个用户 ID 都是唯一的)
- 表:“金钱支出”
- 用户 ID - 金钱支出 -
(一个用户 ID 可能有多个具有不同“金钱支出”的条目)
现在,我需要的总和用户花的钱。
总而言之,我需要以下视图:
- 名称 - 总和(花费的钱) -
哪个语句可以给我这个结果?
- Table: "user"
- Userid - Name -
(every userid is unique)
- Table: "money spend"
- Userid - money spend -
(a userid may have several entries with different "money spend")
Now, I need the total sum of the money spend by a user.
To conclude, I need the following view:
- name - sum (money spend) -
Wich statement may give me this result?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您可以使用聚合函数和分组依据:
请注意,这里假设每个用户在 Money_spend 表中至少有 1 行: http://www.sqlite.org/lang_aggfunc.html
由于聚合函数的工作方式,您可以为每个用户设置值为 0 的 Money_spend 表,这样您就不会遇到有任何问题:)
You can use an aggregate function and group by:
Note that this here assumes that every user has at least 1 row in the money_spend table: http://www.sqlite.org/lang_aggfunc.html
Due to the way that aggregate functions work, you could set up the money_spend table with a 0 value for each user so you don't run into any issues :)
因为您的用户可能在表 Money_spend 中没有任何条目,所以您需要一个外部联接:
编辑:为了确保这一切都有效,我刚刚尝试了这个
控制台输出如下(testSQLite 是我的测试数据库,testsql.sql 是上面的)
Because you might have users without any entry in table money_spend you need an outer join:
Edit: To be sure this all works I just tried this
The console output is the following (testSQLite is my test DB, testsql.sql is the above)