【问题标题】:sql query to find out most frequent item with provided item [closed]sql查询找出最常见的项目与提供的项目[关闭]
【发布时间】:2018-09-30 11:46:24
【问题描述】:

我正在使用 C# 开发网站,我想添加一些建议。由于这是一个基础级别,我想就最常见的项目(如市场篮分析)提供建议。

我想构建一个查询,如果我提供了一个项目的名称(比如说abc),那么它应该返回一个重复最多或 50%(任何一个)的项目的名称。

简而言之,我只想添加“在 StackOverFlow 中相关”之类的功能

请帮忙。

【问题讨论】:

  • 为了提供建议,您需要获取一个或多个输入,找到与该输入相关的数据,然后提供输出(您的建议)。我认为您需要首先对您尝试提供建议的数据进行建模。
  • 可以说我有一个表,其中包含 order_id、product_id、customer_id 名称等字段,我想得到结果,就像购买此产品的人也购买此产品并将其存储在数据库中,然后提供相关项目的建议并选择项目 。那么我应该在查询中写什么,@eclecticist 和其他人
  • 您是否为此编写了任何可以向我们展示的代码?
  • 这是一个巨大且很难正确解决的问题。这是已知的 NP-Hard 问题。 Rob Connery 有一个很棒的演讲(和书)关于他如何解决这样的问题并失败并被解雇:) youtube.com/watch?v=rYlwiJ0vr_4
  • @pmcilreavy 不,它不是 np-hard。

标签: c# sql asp.net database data-mining


【解决方案1】:

这取决于您的数据库布局。

您可能需要使用嵌套查询和 group_by。

对于网络来说,它的速度还不够快,除非你预先计算好东西,或者只有很少的数据。您还需要索引。

【讨论】:

    猜你喜欢
    • 2020-06-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-01-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-10-14
    相关资源
    最近更新 更多