繁体   English   中英

对行进行排名并选择一行

Ranking rows and selecting one

提示:本站收集StackOverFlow近2千万问答,支持中英文搜索,鼠标放在语句上弹窗显示对应的参考中文或英文, 本站还提供   中文繁体   英文版本   中英对照 版本,有任何建议请联系yoyou2525@163.com。

我希望行在Aspez_ID属性上排名,并且只选择一行ASpez_ID = 1。 问题是 - 我想从数据集中选择一行且只有一行。 你能帮我么? 这是代码:

LEFT OUTER JOIN (
   SELECT   dwh_prozess_id
          , ONKZ
          , TN_NUM
          , Aspez_Id
          , Tarif_Cd
          , Lokation_Id
          , VWArt_Id
          , Geografische_RFN_JN
          , Herkunft_Cd
  -- , .... Felder, die noch benötigt werden
          , RANK (Aspez_Id)  AS Prio

   FROM   DB09_Prozess.TB0911_Basis_Konfiguration 
   WHERE  arbeit_cd = 'Einrichten'
       AND phase_cd = 'Durchgeführt'
   ) AS TB0911
ON t1.DWH_Prozess_Id = TB0911.DWH_Prozess_Id  
   AND t1.Herkunft_Cd = TB0911.Herkunft_Cd
1 个回复

正如Bob Duell所解释的那样ROW_NUMBER() OVER()可能是一个更好的选择,因为RANK() OVER()允许联系。 (即超过1条记录可以具有给定的等级:1,1,1,4,5,6,6,8)

QUALIFY子句适用于窗口聚合函数,如HAVING对普通聚合函数的作用。 这将允许您返回Prio为1或您需要的任何值的记录。

SELECT   dwh_prozess_id
          , ONKZ
          , TN_NUM
          , Aspez_Id
          , Tarif_Cd
          , Lokation_Id
          , VWArt_Id
          , Geografische_RFN_JN
          , Herkunft_Cd
  -- , .... Felder, die noch benötigt werden
          --, RANK (Aspez_Id)  AS Prio
          , ROW_NUMBER() OVER(PARTITION BY {partition group} /* PARTITION BY is optional */
                              ORDER BY {ordering group}) AS Prio

   FROM   DB09_Prozess.TB0911_Basis_Konfiguration 
   WHERE  arbeit_cd = 'Einrichten'
       AND phase_cd = 'Durchgeführt'
   QUALIFY Prio = 1

希望这可以帮助。

2 如何对pandas.DataFrame中的每一行进行明确排名

是)我有的 用户 - 用户相似度矩阵,某些行具有重复值和NaN 我想要的是 我希望明确排名每行的同一性。 像这样: 相同值之间的等级并不重要。 但它需要是一个独特的价值。 必须保持NaN 。 我累了 我试过df.rank(ascending =Fal ...

3 按降序对数据框中的每一行进行排名

我想通过apply(data.frame,1,rank)将rank()应用于数据框中的每一行。 但是,排名默认为升序。 因此,当我使用值(2,1,3,5)将rank()应用于我的第一行时,我得到了 但是,我想要 我怎样才能使用apply(data.frame,1,rank) ...

4 如何对选择的每一行进行操作?

我正在尝试对触发器中select的每一行中的值进行操作,但是我不知道如何开始设计此算法。 这是我要从中比较值的选择 我的桌子是这个 我正在尝试在更新tableA上的一行时,将tableB.est的值自动更改为保留值,对于tableB.id_e,tableB.num_a和t ...

5 对表中的每一行进行排名并将行重复进行分组,而无需重置每组的排名

我创建了下表: *假设每道菜都来自不同的餐厅 使用的代码: 这是我要实现的目标: 我希望排名第一的菜在表的顶部,然后是相同的菜(排名不同,如上所示)。 一旦完成,选择下一个菜的标准应该是检查下一个等级(对于另一个菜)。 根据等级列选择每个组的第一个菜,并且在组中 ...

6 MYSQL使用某一行进行排序和限制,并选择上一行和下一行

我有一个名为users的简单表,其中包含以下数据: 我想选择我指定的任何给定id的跳数,并根据从最高到最低排序的跳数选择下一个和前一个id。 为了解释更多,我使用以下查询: 因此,在上面的查询中,我试图获得id=1 ,下一个具有相同或更高跳数的id,以及之前具有相同或更低跳 ...

7 SQL 选择将日期与前一行进行比较

我如何从该数据中仅显示日期“结束”大于下一个“开始”日期的名称。 例如,彼得不应该显示为他的第一行“结束”日期是 2019-12-31,而他的下一个“开始”日期是 2020-01-01,所以 2019<2020。 现在,John 的第一行“结束”日期是 2021-12-31,比下一行“开始” ...

8 防止使用JavaScript对每一行进行多次选择

我是Java的新手。 我想避免对每个“行”进行多次选择。 我在这里找到了一个示例,但是它删除了页面中所有选择的属性。 我试图对其进行调整,使其仅支持表行,但没有运气。 有人可以帮忙吗! 下面是代码片段。 这是我的表结构 ...

9 TSQL选择一行或多行进行连接

这个问题类似于: TSQL从2个条件中选择一个行 ,但是我想要的结果不同 我有一张像这样的桌子: 和第二个表是这样的: 第三和第四个表包含邮政编码和城市名称,如下所示: 对于每个订单 状态不在(4,6) '002'和'005'之间的code1 ...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2021 STACKOOM.COM