gpt4 book ai didi

mysql - 同一张表上的两个 select 语句并获取 Count(*)

转载 作者:行者123 更新时间:2023-11-30 21:43:10 24 4
gpt4 key购买 nike

我正在尝试对同一个表执行两个查询以获取 Count(*) 值。

我有这个

SELECT `a`.`name`, `a`.`points` FROM `rank` AS a WHERE `id` = 1

在同一个查询中我想这样做

SELECT `b`.`Count(*)` FROM `rank` as b WHERE `b`.`points` >= `a`.`points`

我尝试搜索但没有找到如何在同一个查询中执行 Count(*)

最佳答案

通常,您不会在 MySQL 中混合使用非聚合查询和聚合查询。您可以在支持分析功能的数据库中执行此操作,例如 SQL Server,但不能在(当前版本的)MySQL 中执行此操作。也就是说,您的第二个查询可以使用第一个查询的 select 子句中的相关子查询来处理。因此,您可以尝试以下操作:

SELECT
a.name,
a.points,
(SELECT COUNT(*) FROM rank b WHERE b.points >= a.points) AS cnt
FROM rank a
WHERE a.id = 1;

关于mysql - 同一张表上的两个 select 语句并获取 Count(*),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50666997/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com