0
情景:我在构建能够显示给定架构的报告的单个查询时遇到困难。据推测,要显示的报告应该遵循基于乘数的计算。例如: 用户,消息数×乘数高级MySQL组查询
需要什么:mysql查询将显示预期的查询结果。
* schema *
table: users
id | name
1 | cris
2 | dave
3 | jona
table: services
id | name
1 | standard
2 | premium
table: service_users
user_id | service_id | multiplier
1 | 1 | 1
1 | 2 | 2
2 | 1 | 1
2 | 2 | 2
3 | 1 | 1
3 | 2 | 2
table: messages
user_id | service_id | content
1 | 1 | howdy
1 | 1 | hey
1 | 1 | hello
1 | 2 | the quantity
1 | 2 | insignificant
2 | 1 | pill
2 | 1 | dock
2 | 2 | misty docks
3 | 1 | drive
3 | 2 | with style
3 | 2 | like a hawk
3 | 2 | earthling rise
查询结果应该是这样的
user_id | multiplier(1) | multiplier(2) | total
1 | 3 | 4 | 7
2 | 2 | 2 | 4
3 | 1 | 6 | 7
真棒!这是我一直在寻找的解决方案。 –
顺便说一句,当我将总数“m1 + m2”追加到查询中时,会出现一个sql错误,其中显示“字段列表”中的“未知列'm1'”。 –
@darkcolonist是的,这是行不通的,我把它从我的代码中删除,我个人更喜欢在我的应用程序中执行'm1 + m2',你仍然可以在MySql中使用两个变量'@ m1:= COUNT(... ','@ m2:= COUNT(...'然后是@ @ m1 + @ m2'。 – nobody