在MYSQL中,我有以下查询:
我的桌子
规划
-------------------
process_id(int)
project_id(int)
期间(日期时间)
total_hour(双精度)
选择process_id,project_id,
sum(if(period =“ 2013-04-01 00:00:00”,total_hour,0))为四月,
sum(如果(period =“ 2013-05-01 00:00:00”,total_hour,0)尽可能
sum(if(period =“ 2013-06-01 00:00:00”,total_hour,0))作为六月
从计划
GROUP BY process_id,project_id;
我需要转换此条款SQL以便在JPA中使用?
我有一个包含以下列的销售表:
| Customer_Id | amount | date |
Run Code Online (Sandbox Code Playgroud)
customer_id在不同的月份列中,对每个Customer_id(每个Customer_id一行)显示每月总数(SUM)的最佳方法是什么?
期望的输出将是这样的:
Customer |January | February | March | ....
Customer_id |SUM amount | SUM amount | SUM amount | ....
Run Code Online (Sandbox Code Playgroud)
我相信在Sql中这称为数据透视表.
谢谢!
我正在尝试使用pd.pivot_table创建数据透视表.
df1=df.pivot('Partner','Year','Value')
Run Code Online (Sandbox Code Playgroud)
没有问题,并产生一个表
Year 2011 2012 2013 2014
Partner
Albania 0.000693 0.000663 NaN NaN
Areas, nes 0.002310 0.014177 0.492017 0.633261
Armenia NaN 0.000145 NaN NaN
Belgium 0.390415 0.400312 0.493444 0.643490
Brazil 0.000231 0.000362 0.000518 0.000234
China 0.024488 0.000443 0.000085 0.000052
Colombia 0.425991 0.447333 0.488582 0.538809
Run Code Online (Sandbox Code Playgroud)
但是创建my_pivot;
def my_pivot(rows, values, aggfunc, plt=True):
dfp = df
piv = pivot_table(dfp, values=values, rows=rows, cols=cols, aggfunc=aggfunc)
print piv
if plt:
plot(piv)
show()
my_pivot(values = df['Value'], rows=df['Partner'], cols=df['Year'], aggfunc=np.sum,plt=True)
Run Code Online (Sandbox Code Playgroud)
产生错误;
TypeError: my_pivot() got an unexpected keyword …Run Code Online (Sandbox Code Playgroud) 我使用 Laravel 5.3
我有 3 个表:表产品、表类别和表 products_categories
表产品:id、名称等
表类别:id、名称等
表 products_categories : id, product_id, category_id
在模型产品中,我有这样的方法:
public function categories()
{
return $this->belongsToMany(Category::class, 'products_categories', 'product_id', 'category_id')
->withPivot('id')
->withTimestamps();
}
Run Code Online (Sandbox Code Playgroud)
所以1个产品有很多类别
我的代码是这样的
例如 $param['category'] 像这样:
数组 ( ['category1'] => 4 ['category2'] => 11 ['category3'] => 18)
$product_id = 1
foreach ($param['category'] as $category) {
Product::find($product_id)
->categories()
->attach(
$category,
[]
);
}
Run Code Online (Sandbox Code Playgroud)
它用于在数据透视表上添加类别并且它有效
但是如果我更新数据透视表上的类别,它就不起作用
我尝试这样:
例如之前这样编辑过的分类
$param['类别'] =
数组 ( ['category1'] => 5 ['category2'] => 12 ['category3'] => 19)
$product_id = 1
以及更新数据透视表上数据的代码,如下所示: …
我有 4 列我想作为数据透视表中计算字段的一部分进行总结。
在工作表 1 中我有原始数据,在工作表 2 中我有数据透视表。
对于计算字段,我想对名为“Alpha”、“Beta”、“Charlie”、“Delta”的以下列的值求和。在此示例中,列是 L、M、N、Z。
要生成此计算出的字段值,请执行以下操作,="Alpha"+"Beta"+"Charlie"+"Delta"并且还尝试了以下操作=L+M+N+Z。
但他们都通过错误。
我确定我的语法有问题,但无法弄清楚是什么。
有任何想法吗 ?
出色地。我在 Excel 的工作表上有一个名为“ALL_INFO”的表,并在其他工作表中创建了一个数据透视表,其名称为“PIVOT_INFO”。我想知道如何链接表和使用切片器过滤信息的数据透视表并将其反映在两个表中。
有人知道我该怎么做吗?
先感谢您。
我试图通过对几列进行分组来创建数据透视表:用户 ID、姓名、周数和日期名称。当前的请求没有给出期望的结果。我需要帮助。
这是我的桌子:
user_id name week_number day_name price
2 Luc 8 Sunday 10
2 Luc 8 Monday 15
2 Luc 8 Tuesday 8
2 Luc 8 Wednesday 2
2 Luc 8 Thursday 9
2 Luc 8 Friday 9
2 Luc 8 Saturday 11
2 Luc 9 Saturday 1
2 Luc 9 Friday 13
3 Mathieu 8 Sunday 22
3 Mathieu 8 Monday 13
3 Mathieu 8 Tuesday 9
3 Mathieu 8 Wednesday 3
Run Code Online (Sandbox Code Playgroud)
这是我当前的请求:
SELECT *
FROM crosstab(
'SELECT user_id, …Run Code Online (Sandbox Code Playgroud) 我有一个带有日期的交易数据透视表。源数据每天更新。我知道如何手动设置一个月内所有交易的过滤器,例如 2019 年 2 月 1 日到 2019 年 2 月 29 日之间的日期。
如果我只想查看当月的所有数据而不手动选择该特定月份怎么办?如果是 3 月 15 日,我只想查看从 3 月 1 日到当前日期的交易,并在 4 月到来时自动更新,而无需手动选择 4 月。
您对如何做到这一点有什么想法吗?
在 Laravel Lighthouse GraphQL 中,如何从中间“数据透视”表中检索信息?
假设我有一个属于belongsToMany关系的用户和角色:
type User {
roles: [Role!]! @belongsToMany
}
type Role {
users: [User!]! @belongsToMany
}
type Query {
user(id: ID! @eq): User @find
role(id: ID! @eq): Role @find
}
Run Code Online (Sandbox Code Playgroud)
并且还假设中间表User_Role包含列“created_at”和“tag_id”。
我将如何在查询中包含“created_at”?
我将如何获得tag_id引用的标签?
可以使用什么类型的数据结构(或数据结构?)来存储可以访问数据的二维数据透视表?例如,让我们从 Excel 复制以下内容:
如果数据都在一维层次结构中——也就是说,它是组 > 产品 > 年份 > 价值,我们可以按照以下方式做一些事情:
{
"Electronics": {
"(all)": {
"Year": {
"2018": 2,
"2019": 1,
"Grand Total": 3
}
},
"Computer": {
"Year": {
"2018": 1,
"2019": 0,
"Grand Total": 1
}
},
"Phone": {
"Year": {
"2018": 1,
"2019": 1,
"Grand Total": 2
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
然后我可以通过执行以下操作访问电子 > 计算机 > 2018 的价值:
{
"Electronics": {
"(all)": {
"Year": {
"2018": 2,
"2019": 1,
"Grand Total": 3
}
},
"Computer": {
"Year": { …Run Code Online (Sandbox Code Playgroud)