作者热门文章
- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我有 第一个表 称为表头
id | user_id | created_on
------------------------
15 | 42 | 1 day ago
16 | 43 | 1 day ago
17 | 44 | 1 day ago
18 | 45 | 2 day ago
第二个表称为行
line_id | ph_name | quantity
----------------------------
15 | nokia | 3
16 | sumsung | 5
17 | nokia | 1
第三个表称为用户
id | name
--------------
42 | hi
43 | bye
44 | tata
因此,如何根据用户数量并考虑 SQL 查询 或 django 聚合 ORM 中的今天日期,将其关联和分组以给出如下所示的结果
{
{
"ph_name":"nokia",
"num_of_user":"2", //hi and tata are the users
"quantity":"4"
},
{
"ph_name":"samsung",
"num_of_user":"1", //bye is the only user
"quantity":"5"
}
}
最佳答案
试试这个:
select ph_name, count(distinct first_table.user_id), sum(quantity)
from second_table
inner join (select * from first_table where created_on = '1 day ago') as first_table on second_table.line_id = first_table.id
inner join third_table on third_table.id = first_table.user_id
group by ph_name
注意,我不知道你的表是否在同一个数据库/模式中。您可能必须通过在表名前加上 schema/database_name.table_name
来指定数据库/模式。
关于mysql - 如何在SQL中的三个或更多表之间进行Group By,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50851534/
我是一名优秀的程序员,十分优秀!