SQL:查找每个类别中评分最高的文章

2023-12-29

我有一张桌子articles,有字段id, rating(1-10 的整数),以及category_id(一个整数表示它属于哪个类别)。

如何在一个 MySQL 查询中找到每个类别中评分最高的单篇文章?ORDER BY and LIMIT我想,这通常是我找到评价最高的文章的方式,但我不确定如何将其与分组结合起来以获得所需的结果,如果可以的话。 (依赖子查询可能是一个简单的答案,但是 ewwww。有更好的东西吗?)

对于以下数据:

id | category_id | rating
---+-------------+-------
 1 |           1 |     10
 2 |           1 |      8
 3 |           2 |      7
 4 |           3 |      5
 5 |           3 |      2
 6 |           3 |      6

我希望退回以下内容:

id | category_id | rating
---+-------------+-------
 1 |           1 |     10
 3 |           2 |      7
 6 |           3 |      6

试试这些

SELECT id, category_id, rating
FROM   articles a1
WHERE rating = 
(SELECT MAX(a2.rating) FROM articles a2 WHERE a1.category_id = a2.category_id)

OR

SELECT * FROM (SELECT * FROM articles ORDER BY rating DESC) AS a1 GROUP BY a1.rating;
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

SQL:查找每个类别中评分最高的文章 的相关文章

  • PDO SQLSRV 和 PDO MySQL 在获取 int 或 float 时返回字符串

    当您获取时 PDO MS SQL Server 和 PDO MySQL 都会返回一个字符串数组 即使列的 SQL 类型本应是数字类型 例如 int 或 float 我设法解决了这个问题 但我想了解为什么它们一开始就这样设计 是不是因为PDO
  • 使 pdo::query 静态

    当我运行下面的代码时出现此错误 我通常使用 msql 函数 但我尝试使用 PDO 代替 怎么了 致命错误 第 14 行无法静态调用非静态方法 PDO query
  • 无法启动 MySQL 服务器 - 控制进程退出并出现错误代码

    我的 mysql 服务器停止后无法启动 命令使用 sudo etc init d mysql restart Error 重新启动 mysql 通过 systemctl mysql serviceJob for mysql service
  • MYSQL - 查找最近的前一天

    我可以以某种方式 不使用 PHP 找到一周中最近的前一天日期吗 Like 最近的上一个星期二的日期是哪一天 CURDATE INTERVAL WEEKDAY CURDATE wday IF WEEKDAY CURDATE gt wday 0
  • java mysql 准备好的语句

    我正在尝试使用 java 向数据库中进行简单的插入 它告诉我我的 sql 语法已关闭 但是 当我复制打印出来的字符串并将其放入 phpmyadmin 中的 sql 命令中时 它会正确执行该命令 并且我似乎无法弄清楚 java 中的字符串查询
  • 如何使用 MySQL 的 LOAD DATA LOCAL INFILE 在导入 CSV 时将字符串日期更改为 MySQL 日期格式

    我正在使用 MySQL 的 LOAD DATA LOCAL INFILE SQL 语句将数据从 CSV 文件加载到现有数据库表中 下面是一个 SQL 语句示例 LOAD DATA LOCAL INFILE file csv INTO TAB
  • 将 SQL 数据中的一行映射到 Java 对象

    我有一个 Java 类 其实例字段 以及匹配的 setter 方法 与 SQL 数据库表的列名相匹配 我想优雅地从表中获取一行 到 ResultSet 中 并将其映射到此类的实例 例如 我有一个 Student 类 其中包含实例字段 FNA
  • 如何在Oracle中使用Timestamp_to_scn和Scn_to_timestamp?

    我的查询结果是这样的 select cast to date a start time mm dd yyyy hh mi ss pm as timestamp date of call ora rowscn from calling tab
  • 为什么这会返回资源 id #2? [复制]

    这个问题在这里已经有答案了 可能的重复 我如何从 PHP 中的 MySql 响应中 回显 资源 id 6 https stackoverflow com questions 4290108 how do i echo a resource
  • 阻止注销页面后的后退按钮

    我有 php 注销页面 当用户单击注销链接时 请参阅此页面并重定向到索引页面 但是当单击后退按钮时 我会看到带有用户数据的上一页 当然 当我刷新页面时 我看不到以前的页面和数据 我在单击注销并单击后退按钮后检查了其他代码 drupal 但我
  • 如何在使用连接池时强制 SqlConnection 物理关闭?

    我明白 如果我实例化一个 SqlConnection 对象 我实际上是从连接池中获取一个连接 当我调用 Open 时 它将打开连接 如果我对该 SqlConnection 对象调用 Close 或 Dispose 方法 它将返回到连接池 但
  • 将 UUID 存储为 base64 字符串

    我一直在尝试使用 UUID 作为数据库键 我希望占用尽可能少的字节数 同时仍然保持 UUID 表示形式的可读性 我认为我已经使用 base64 将其减少到 22 个字节 并删除了一些尾随的 这些 对于我的目的来说似乎没有必要存储 这种方法有
  • 如何在 Visual Studio 中更改 Azure 数据库表的列顺序

    我整个下午都在寻找在 MS Visual Studio 2022 中重新排序 Azure 数据库表列的方法 没有运气 在其他应用程序中 可以通过拖动或剪切和粘贴轻松重新排列列 这里无能为力 此时 我什至不确定可以在 VS 中移动列 我只对
  • Oracle:使用SQL或PL/SQL查找动态SQL中的错误位置

    如何在 PL SQL 或 SQL 中找到动态 SQL 语句中的错误位置 从 SQL Plus 中 我看到了错误的位置 例如 无效的 SQL DML 语句 SYS orcl gt SELECT 2 X 3 FROM 4 TABLEX 5 TA
  • MYSQL 区分大小写的 utf8 搜索(使用 hibernate)

    我的登录表具有 utf8 字符集和 utf8 排序规则 当我想要检查用户名并检索该特定用户名的其他信息时 hql 查询会为我提供小写和大写相同的结果 我应该如何处理适用于案例的 HQL 查询 我使用 Mysql 5 和 java hiber
  • SQL 删除表并重新创建并保留数据

    在我们最初的设计中 我们搞砸了表中的外键约束 现在表已充满数据 我们无法在不删除表中所有记录的情况下更改它 我能想到的唯一解决方案是创建一个备份表并将所有记录放在那里 然后删除所有记录 更改表并开始将它们添加回来 还有其他 更好 的想法吗
  • 无法通过套接字“/var/lib/mysql/mysql.sock”连接到本地 MySQL 服务器 (2)

    当我尝试连接 mysql 时出现以下错误 Can t connect to local MySQL server through socket var lib mysql mysql sock 2 这个错误有解决办法吗 其背后的原因可能是什
  • 如何在Sequelize中设置查询超时?

    我想看看如何在 Sequelize 中设置查询的超时时间 我查看了 Sequelize 文档以获取一些信息 但我找不到我要找的东西 我发现的最接近的是 pools acquire 选项 但我不想设置传入连接的超时 而是设置正在进行的查询的超
  • 列中差异的数量

    我想检索一列每行中有多少个字母的差异 例如 如果您有一个值 test 而另一行有一个值 testing 则 test 和 testing 之间的差异为 4 个字母 该列的数据值为 4 I have reflected about it an
  • 当所有维度值都具有 100% 重要性时处理多对多维度

    我至少会尽力保持简洁 假设我们正在跟踪一段时间内的账户余额 所以我们的事实表将包含诸如 账户余额情况表 FK 账户ID FK 日期ID Balance 显然你有一个账户维度表 and a 日期维度表 所以现在我们可以轻松地过滤帐户或日期 或

随机推荐

  • 如何使用多个变量和因子的所有可能组合来运行 lm 模型

    这不是我的主题 所以如果我的问题问得不好或者数据不完整 我很抱歉 我正在尝试运行 31 个线性模型 这些模型具有单个响应变量 VELOC 预测变量具有一个因子 TRAT 有 2 个水平 A 和 B 和五个连续变量 我有一个用于 gls 的循
  • 带有自定义单元格的 UITableView 未进入编辑模式

    我有一个带有自定义 UITableViewCells 的 UITableView 该表有两个部分 第一部分有一个带有 UITextField 的单行 并且只能根据文本进行编辑 无法从 UITableView 角度编辑此部分和行 第二部分是从
  • Azure Service Fabric 有状态服务中的可靠字典对象自动过期

    是否有任何内置方法可以将可靠字典对象的过期时间设置为在特定时间后过期 尝试看看我们是否可以开始使用可靠的集合来存储用户会话对象 无状态服务可以访问有状态服务创建的字典对象吗 抱歉 如果这些都是蹩脚的问题 尝试理解这些概念 Thanks 不
  • 估计面板中​​常见集合成员随时间变化的百分比

    我有一个时间序列面板数据集 其结构如下 有 2 个基金 每个基金在每个时间段都拥有不同的股票 df lt data frame fund id c 1 1 1 1 1 1 1 1 1 2 2 2 2 time Q c 1 1 1 2 2 2
  • 如何模拟 PHPUnit 的 Guzzle 请求

    我有一堂这样的课 class CategoryClient private categories Constructor Retrieves JSON File public function construct Client client
  • Mac OS X 上 cblas.h 的包含路径是什么

    我正在尝试在 Accelerate 框架中使用 blas cblas OS X 10 13 如果有的话 我找到了链接器选项 framework Accelerate 但找不到使 cblas h 找到的编译器选项 我没有使用 Xcode 左右
  • 如何使用java“打开”和“保存”

    我想用java制作一个 打开 和 保存 对话框 我想要的示例如下图所示 Open Save 我该怎么做呢 你想使用一个JFileChooser目的 它将打开并处于模式状态 并阻塞在打开它的线程中 直到您选择一个文件 Open JFileCh
  • scala 中的“:_*”是什么意思? (当使用列表过滤数据帧时)[重复]

    这个问题在这里已经有答案了 当看到一些同事的 Scala Spark 代码时 有时我会遇到他们使用列表来过滤数据帧 如下例所示 val myList List String List 0661 0239 0949 0380 0279 031
  • vscode python 转到符号不起作用

    我刚刚下载了 vscode 1 0 版 我真的很喜欢它 然而 转到符号 似乎不适用于 python 源文件 我尝试安装不同的扩展 但似乎无法正常工作 这不是完全支持吗 我确实在 node js 项目文件夹中尝试过 并且转到符号在那里完美地工
  • LayoutParams 重力不起作用

    我有一个父 LinearLayout 宽度和高度为 MATCH PARENT 我试图用 java 代码找出设置重力和布局重力 LinearLayout l new LinearLayout this l setGravity Gravity
  • 优雅地处理 Hibernate/Spring 事务中的过时数据库连接

    我有一个在测试中运行良好的系统 但现在我已将它们移至生产服务器并准备好切换 我遇到了问题 如果应用程序空闲大约 15 分钟 Spring 事务服务中的数据库连接就会断开 发生这种情况后 第一个访问该应用程序的人会收到此消息 org spri
  • 部署到 Heroku 后引导程序样式丢失

    根据我过去两天的谷歌搜索 我加入了数百 如果不是数千 在部署到 Heroku 时丢失引导程序样式的人 与其他人一样 引导样式在本地计算机上运行良好 但在部署的 Heroku 站点上不存在 我很困惑 我使用的是 Rails 4 2 4 和 r
  • SQL 中的分页 - 性能问题

    我正在尝试使用分页 我在 SO 中得到了完美的链接 https stackoverflow com a 109290 1481690 https stackoverflow com a 109290 1481690 SELECT FROM
  • 如何绘制散点趋势线?

    我想在 matplot 上画一条散点趋势线 我怎样才能做到这一点 Python import pandas as pd import matplotlib pyplot as plt csv pd read csv tmp test csv
  • 特权指令、陷阱和系统调用之间的关系

    我试图了解虚拟机监视器 VMM 如何虚拟化 CPU 我现在的理解是 当CPU处于用户模式时 当即将执行特权指令时 CPU会发出保护故障中断 在 C 等高级语言中 特权指令被包装在系统调用中 例如 当应用程序需要当前日期和时间 与I O设备交
  • “没有为此目标安装系统映像”Xamarin AVD Manager

    每当我为 Google API 选择目标时 它都会告诉我没有可用的系统映像 我已经完全删除并重新安装了 SDK 管理器中的每个可用选项 对于我尝试使用的 API 级别 我安装了所有可用的映像 我还尝试按照另一个问题的答案的建议将图像复制到默
  • 如何更改 WordPress 中单个页面的 URL?

    我使用 WordPress 作为 CMS 我开发了一个自定义插件来显示经销商信息 下面是网址 91是用于从数据库获取数据的经销商 ID 我可以更改为如下网址吗 http example nl dealer info dealer infor
  • 无法让 ToMany 在 Tastypie 中工作

    我正在关注 Tastypie 文档 但发现自己完全陷入困境 我有以下内容 API class ProjectResource ModelResource milestones fields ToManyField ProjectTracke
  • 路径控制器未找到或未实现 IController

    我有一个带有语言选择的 MVC4 项目 en nl fr de 1 个主要部分 About 通用 用于菜单 Contact Faq Home 以及3个领域 Admin 顾客 Shop 在每个区域我至少有一个控制器 例如在管理中我有控制器ov
  • SQL:查找每个类别中评分最高的文章

    我有一张桌子articles 有字段id rating 1 10 的整数 以及category id 一个整数表示它属于哪个类别 如何在一个 MySQL 查询中找到每个类别中评分最高的单篇文章 ORDER BY and LIMIT我想 这通