mysql - 同一张表上的两个 select 语句并获取 Count(*)
问题描述
我试图在同一张表上执行两个查询以获取 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(*)
在同一个查询中执行。
解决方案
正如我从问题中了解到的那样,您想在给定 id 的表中找出有多少行的点大于该行。这可以使用完全连接来实现。
select count(*) from rank a join rank b on(a.id != b.id) where a.id=1 and b.points >= a.points;
推荐阅读
- python - 循环通过 SEC 索引时出现 JSONDecodeError
- flutter - 如何构建自定义小部件以使用 flutter_local_notifications 显示?
- facebook - Facebook 评论插件 - 如何删除顶部(评论和排序依据)
- r - ggplot2 - 如何在同一个图表中自动生成折线图?
- php - 在第 8 行的 /var/www/html/vendor/laravel/framework/src/Illuminate/Session/CacheBasedSessionHandler.php 中找不到接口“SessionHandlerInterface”
- flutter - 在 Bubblebottombar 颤振上创建 webview 链接
- java - 使用 Spring Boot 显示带有 openlayers 地图的图层
- flutter - 你可以在颤振中对同一个列表使用 onDismissed() 和 onTap() 吗?
- cucumber - CucumberJs 使用 Typescript + LitElement + open-wc 进行测试
- python - 投资组合中的自协方差股票收益(Python)(流动性度量)