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

从设施列表中获取子数据

淳于健
2023-03-14
问题内容

我正在尝试编写查询,并且在可能的情况下需要一些帮助。提前致谢。

我有一张从公共资源获取的设施数据表(约10万行)。该数据包含有关我认为是同一地点(相同名称,城市,州)的几条记录,但它们具有不同的套房编号。另一个有趣的代码是,我在数据上有一个选择计数器,每当有人选择其中一项功能时,我就会递增该数据。这样,我可以将选择计数与其他一些权重计算一起使用,以使结果在列表中显示更高。

我想做的是编写一个查询,当有人输入搜索查询时,它将仅显示该设施的一条记录,该记录具有最高的选择计数,而忽略其余的记录。

注意:我不想对数据进行任何预处理,因为它将每月重新加载。

示意图:ID名称地址1地址2城市州邮政编码电话选择计数

示例搜索:“ women”

ID  Name                        City        State   Selection Count
1   Brigham & Women's Hospital  Boston      MA      22
2   Brigham & Women's Hospital  Cambridge   MA      0
3   Brigham & Women's Hospital  Boston      MA      5
4   Brigham & Women's Hospital  Boston      MA      1
5   Brigham & Women's Hospital  Orlando     FL      3
6   Woman's Hospital of Detroit Detroit     MI      100
7   Brigham & Women's Hospital  Boston      MA      0
8   Woman's Hospital of Detroit Detroit     MI      55

我想要的是一个包含1,2,5,6的结果集

1,3,4,7相同,因此带回顶部选择计数。6和8相同。

我敢肯定,这里的某处有一个having和top子句,但是我还没办法让它做我想做的事情。

有什么想法吗?


问题答案:

怎么样

select id, name, city, state, selcount from t 
where exists
(
  select 1 from
  (select name, city, state, max(selcount) selcount
     from t 
    group by name, city, state) s
  where s.name = t.name and s.city = t.city and s.state = t.state and s.selcount = t.selcount
)

我为此构建了一个SQL Fiddle,以显示一个有效的示例。



 类似资料:
  • 问题内容: 我有一个视图t,其中有一个用于表名的列,另一个具有where子句条件的列。 等等… 现在,我将记录放在游标中,并且我想运行每个查询。 myTable是另一个表,我要将记录用于下一个目的。 问题答案: @Akshay, 请找到下面的代码以供参考。

  • 我想创建一个包含类别的列表,并将类别悬停在需要显示子类别的类别上。我能够在列表中显示父类别。但我不知道如何获得子类别。在我的表中有category\u id、parent\u id列和一些其他列。如果父类别id为“0”,则它是主类别,对于子类别,它包含类别id。因此,现在我需要显示主类别的子类别。我不明白该如何进行。谁能给我提建议。

  • 问题内容: 如何获得特定表中的列名列表? IE。 火鸟表: 得到这样的列表: 问题答案: 如果要获取特定表中的列名列表,则这是您需要的sql查询: 我在firebird 2.5中尝试过此方法,并且可以正常工作。 顺便说一句,YOUR-TABLE-NAME周围的单引号是必需的

  • 我有一个SeniorEmployee类,它有一些属性,在这个属性下我有JuniorEmployee列表。现在我的标准是在SeniorEmployee中通过流和基于一些标准进行迭代,然后对于与筛选标准匹配的SeniorEmployee,我们需要在juniorEmployee列表中进行迭代,并计算他们的总薪资。那么,我如何通过流在单个lambda表达式中实现它呢?请帮帮忙。 如果EmpCode为10,

  • 我有以下代码: LR是类的列表类型。在这个列表中,我有15个索引,例如在索引[0]中,我有: 现在在这个索引[0]中,我有两个int的变量end 88和start 96 在这个for循环中,我需要做的是: _fts是一个<代码>列表 我有两个错误: 错误31“系统”的最佳重载方法匹配。集合。通用。列表。添加(int)”有一些无效参数 和 错误32参数1:无法从“Lightings\u提取器”转换。

  • 我有一个名为的表和一个名为的表。它们通过作为pivot具有多对多的关系。透视表具有和 所以每个表单可以有很多类别,每个类别可以附加到很多表单上。 我需要以某种方式汇总这些数据。我需要的是一个逗号分隔的类别ID的列表在一列中为每个表单。 像这样: 做这件事的有效方法是什么?