Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/svn/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 保留详细的行是什么意思?当您执行常规聚合函数时,它会汇总(即相加,得到平均值)所有行数据。返回的唯一值是groupby中指定的字段和聚合。使用窗口功能,您可以执行类似的操作,但您可以保留所有详细数据(即GROUP BY中未指定的附加列),这将如何返回?这是_Java_Sql_Postgresql - Fatal编程技术网

Java 保留详细的行是什么意思?当您执行常规聚合函数时,它会汇总(即相加,得到平均值)所有行数据。返回的唯一值是groupby中指定的字段和聚合。使用窗口功能,您可以执行类似的操作,但您可以保留所有详细数据(即GROUP BY中未指定的附加列),这将如何返回?这是

Java 保留详细的行是什么意思?当您执行常规聚合函数时,它会汇总(即相加,得到平均值)所有行数据。返回的唯一值是groupby中指定的字段和聚合。使用窗口功能,您可以执行类似的操作,但您可以保留所有详细数据(即GROUP BY中未指定的附加列),这将如何返回?这是,java,sql,postgresql,Java,Sql,Postgresql,保留详细的行是什么意思?当您执行常规聚合函数时,它会汇总(即相加,得到平均值)所有行数据。返回的唯一值是groupby中指定的字段和聚合。使用窗口功能,您可以执行类似的操作,但您可以保留所有详细数据(即GROUP BY中未指定的附加列),这将如何返回?这是否会返回一个olis集合?目前,我正在通过放置json.put(“fieldname”,resultset.get(“queryfieldname”);创建一个json;这将如何返回?这将返回一个OLI集合吗?目前,我正在通过放置json.pu


保留详细的行是什么意思?当您执行常规聚合函数时,它会汇总(即相加,得到平均值)所有行数据。返回的唯一值是
groupby
中指定的字段和聚合。使用窗口功能,您可以执行类似的操作,但您可以保留所有详细数据(即
GROUP BY
中未指定的附加列),这将如何返回?这是否会返回一个olis集合?目前,我正在通过放置json.put(“fieldname”,resultset.get(“queryfieldname”);创建一个json;这将如何返回?这将返回一个OLI集合吗?目前,我正在通过放置json.put(“fieldname”,resultset.get(“queryfieldname”)创建一个json;不幸的是,数据类型并不重要。我们只通过代码创建订单项目,所以如果订单项目已经创建,我只需要验证1是否存在,我甚至不需要检查它是否正确,只需要它是否存在。如果1存在,则它们已经创建,如果不存在,则我需要创建它们。我添加了我的第三个场景o在您留下评论的同时。我不确定它现在是否适用。等等!您是专门寻找没有orderitems的订单吗?不幸的是,数据类型无关紧要。我们仅通过代码创建订单项,因此如果订单项已创建,我只需验证1是否存在,甚至不需要检查I如果它是正确的,只是它存在..如果1存在,那么它们已经被创建,如果不存在,那么我需要创建它们。我在您留下评论的同时添加了我的第三个场景。我不确定它现在是否适用。等等!您是专门寻找没有orderitems的订单吗?
SELECT 
 ord.ID AS ord_id,
 oli.sfid AS oli_sfid,
 ord.HasMSISDN__c AS ord_HasMSISDN__c,
 ord.dealer_code__c AS ord_dealer_code__c, 
 ord.recordtypeid AS ord_recordtypeid,
 ord.order_number__c AS ord_order_number__c,
 ord.status AS ord_status,
 ord.opportunityid AS ord_opportunityid,
 ord.sfid AS ord_sfid,
 ord.cancelled_by__c AS ord_cancelled_by__c,
 ord.cancelled_on__c AS ord_cancelled_on__c,
 ord.created_by__c AS ord_created_by__c,
 ord.created_on__c AS ord_created_on__c,
 ord.docusign_email_address__c AS ord_docusign_email_address__c,
 ord.esignature_resent_to__c AS ord_esignature_resent_to__c, 
 ord.esignature_resent_by__c AS ord_esignature_resent_by__c,
 ord.esignature_resent_on__c AS ord_esignature_resent_on__c, 
 ord.pricebook2id AS ord_pricebook2id,
 cont.opportunity__c AS cont_opportunity__c,
 cont.sfid AS cont_sfid,
 opp.isclosed AS opp_isclosed,
 opp.sfid AS opp_sfid,
 opp.recordtypeid AS opp_recordtypeid,
 opp.pricebook2id AS opp_pricebook2id, 
 accban.sfid AS accban_sfid, 
 accban.ban__c AS accban_ban__c,
 usr.sfid AS usr_sfid  
 FROM fullsbxsalesforce.order ord
 LEFT JOIN fullsbxsalesforce.contract cont ON ord.contractid = cont.sfid
 LEFT JOIN fullsbxsalesforce.opportunity opp ON cont.opportunity__c = opp.sfid
 LEFT JOIN fullsbxsalesforce.user usr ON (ord.dealer_code__c = usr.dealer_code_bd__c OR ord.dealer_code__c = usr.Dealer_Code_Co_Sell__c OR ord.dealer_code__c = usr.Rep_Dealer_Code__c OR ord.dealer_code__c = usr.dealer_code_secondary__c) LEFT JOIN fullsbxsalesforce.account_ban_tax_id__c accban ON ord.ban_number__c = accban.ban__c 
 LEFT JOIN fullsbxsalesforce.orderitem oli ON ord.sfid = oli.orderid 
 WHERE ord.sfid = 'SPECIFIC ID'
, (select * from fullsbxsalesforce.orderitem WHERE ord.sfid = orderid limit 1) oli
SELECT ...
FROM (
  -- Your initial query with new field added
  SELECT ...
  ROW_NUMBER() OVER(PARTITION BY OLI_field_name ORDER BY <ordering_clause>) AS RowRank
  FROM ...
) src
WHERE RowRank = 1
SELECT *
FROM (
  SELECT 
   ord.ID AS ord_id,
   oli.sfid AS oli_sfid,
   ord.HasMSISDN__c AS ord_HasMSISDN__c,
   ord.dealer_code__c AS ord_dealer_code__c, 
   ord.recordtypeid AS ord_recordtypeid,
   ord.order_number__c AS ord_order_number__c,
   ord.status AS ord_status,
   ord.opportunityid AS ord_opportunityid,
   ord.sfid AS ord_sfid,
   ord.cancelled_by__c AS ord_cancelled_by__c,
   ord.cancelled_on__c AS ord_cancelled_on__c,
   ord.created_by__c AS ord_created_by__c,
   ord.created_on__c AS ord_created_on__c,
   ord.docusign_email_address__c AS ord_docusign_email_address__c,
   ord.esignature_resent_to__c AS ord_esignature_resent_to__c, 
   ord.esignature_resent_by__c AS ord_esignature_resent_by__c,
   ord.esignature_resent_on__c AS ord_esignature_resent_on__c, 
   ord.pricebook2id AS ord_pricebook2id,
   cont.opportunity__c AS cont_opportunity__c,
   cont.sfid AS cont_sfid,
   opp.isclosed AS opp_isclosed,
   opp.sfid AS opp_sfid,
   opp.recordtypeid AS opp_recordtypeid,
   opp.pricebook2id AS opp_pricebook2id, 
   accban.sfid AS accban_sfid, 
   accban.ban__c AS accban_ban__c,
   usr.sfid AS usr_sfid,
   ROW_NUMBER() OVER(PARTITION BY oli.sfid ORDER BY <order_col>) AS RowRank -- Assigns a rank to each row with the same oli.sfid value
  FROM fullsbxsalesforce.order ord
  LEFT JOIN fullsbxsalesforce.contract cont ON ord.contractid = cont.sfid
  LEFT JOIN fullsbxsalesforce.opportunity opp ON cont.opportunity__c = opp.sfid
  LEFT JOIN fullsbxsalesforce.user usr ON (ord.dealer_code__c = usr.dealer_code_bd__c OR ord.dealer_code__c = usr.Dealer_Code_Co_Sell__c OR ord.dealer_code__c = usr.Rep_Dealer_Code__c OR ord.dealer_code__c = usr.dealer_code_secondary__c)
  LEFT JOIN fullsbxsalesforce.account_ban_tax_id__c accban ON ord.ban_number__c = accban.ban__c 
  LEFT JOIN fullsbxsalesforce.orderitem oli ON ord.sfid = oli.orderid 
  WHERE ord.sfid = 'SPECIFIC ID'
) src
WHERE RowRank = 1 -- Only get one row per oli.sfid value
SELECT ord.ID AS ord_id,
       count(*) AS oli_count,
       ord.HasMSISDN__c AS ord_HasMSISDN__c,
       ...
       accban.ban__c AS accban_ban__c,
       usr.sfid AS usr_sfid  
FROM   order ord
       ...
       LEFT JOIN orderitem oli ON ord.sfid = oli.orderid 
WHERE  ord.sfid = 'SPECIFIC ID'
GROUP BY
       ord.ID,
       ord.HasMSISDN__c,
       ...
       accban.ban__c,
       usr.sfid
SELECT ord.ID AS ord_id,
       ...
       oli.sfid AS oli_sfid,
       usr.sfid AS usr_sfid  
FROM   fullsbxsalesforce.order ord
       INNER JOIN orderitem oli ON ord.sfid = oli.orderid 
       LEFT JOIN contract cont ON ord.contractid = cont.sfid
       LEFT JOIN opportunity opp ON cont.opportunity__c = opp.sfid
       LEFT JOIN user usr ON ord.dealer_code__c = usr.dealer_code_bd__c 
                             OR ord.dealer_code__c = usr.Dealer_Code_Co_Sell__c 
                             OR ord.dealer_code__c = usr.Rep_Dealer_Code__c 
                             OR ord.dealer_code__c = usr.dealer_code_secondary__c
       LEFT JOIN account_ban_tax_id__c accban ON ord.ban_number__c = accban.ban__c 
 WHERE ord.sfid = 'SPECIFIC ID'