gpt4 book ai didi

mysql - 如何在SQL中的三个或更多表之间进行Group By

转载 作者:可可西里 更新时间:2023-11-01 08:09:12 24 4
gpt4 key购买 nike

我有 第一个表 称为表头

 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"
}
}

this like i need to do

最佳答案

试试这个:

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/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com