当前位置: 首页 > 面试题库 >

SQL Server选择不同

柴砚文
2023-03-14
问题内容

我想写这样的查询:

对于具有这些列的表:ColA ColB ColC,ColD

从表顺序中选择第一个(ColA,ColB,ColC,ColD)与众不同(ColB,ColC)

该查询应该按ColD对表进行排序,然后按ColB和ColC的组合对结果进行分组(它们可能具有不同的数据类型),并返回组中的第一行(包含表的所有列)。

在MS SQL Server 2005中怎么可能?


问题答案:

听起来您想要“每组最多”。

一种方法是使用窗口函数ROW_NUMBER对每个组中的行进行编号,然后仅选择行号为1的那些行:

SELECT ColA, ColB, ColC, ColD
FROM
(
    SELECT
         ColA, ColB, ColC, ColD,
         ROW_NUMBER(PARTITION BY ColB, ColC ORDER BY ColD) AS rn
    FROM table1
) T1
WHERE rn = 1


 类似资料:
  • 问题内容: 我有一个大于1000万行的巨大表。我需要从中有效地获取5000个随机样本。我有一些限制因素,使我想要的总行数减少到9密耳。 我尝试通过NEWID()使用order,但是该查询将花费很长时间,因为它必须对所有行进行表扫描。 有没有更快的方法可以做到这一点? 问题答案: 如果您可以使用伪随机抽样并且您使用的是SQL Server 2005/2008,则请看一下TABLESAMPLE。例如,

  • 问题内容: ModelMultipleChoiceField没有选择初始选择,并且在我的示例中,我无法进行以下修复 我的模型和表格: 我的工作和结果: 我希望它可以工作的方式: 1.我的视图从request.GET获取“公司” 2.然后过滤该“公司”的所有“联系人” 3.最后,它创建一个表单并将这些“联系人”作为“初始= {…}” 两个问题: 1. [尚未回答]如何使ModelMultipleCh

  • 问题内容: 我正在尝试选择mysql表中的重复行,它对我来说很好,但问题是它不是让我选择该查询中的所有字段,而是让我选择用作不同的字段名,让我写查询更好的了解 第一个工作正常 现在,当我尝试选择所有字段时,我最终会出现错误 我正在尝试选择最新的重复项,比如说ticket_id 127是行ID 7、8、9的3倍,因此我想选择一次,最新条目在这种情况下为9,这适用于所有其余项ticket_id的 任何

  • 问题内容: 我在SQL数据库表中使用了带有2个字段的select Disctinct语句。这是我的代码。 并产生错误:。请帮忙 问题答案: 您在sql语句中只选择了一个列Author。BookCode不存在,因此也不会出现在数据集中。 将BookCode包含在Sql语句中,它将得到修复

  • 问题内容: 我认为我要沿着这条路走正确的路…请忍受,因为我的SQL并不是最出色的 我试图查询数据库以从一个表中选择所有单元格中某些单元格不存在的所有内容。那没有多大意义,但我希望这段代码会 因此,基本上我有一张桌子,上面列出了员工及其详细信息。然后是另一个表,其中包含一些其他详细信息,包括其名称。在eotm_dyn表中没有名称的地方,这意味着它们没有条目,我想确切地知道它们是谁,或者换句话说,确切

  • 问题内容: 我需要一个相对简单的查询,但是JPA使其很难创建。 SQL变量如下所示: [编辑:OrderID不是主键。表格中可以有更多等于的OrderId] 我需要设置一个传递给我的方法的变量。 我找到了文档, 但似乎无法将它们全部包装在一起。 这是我到目前为止的内容: 问题答案: