sql - 如何返回具有多个数值的数据?
问题描述
到目前为止,这是我的查询...我想返回具有最小位置和最大音量的值。但是......相应网址的某些关键字具有多个具有相同位置的关键字。我只想为每个 url 返回 1 个结果。例如,我的列是
|URL |keyword|Position| volume|
| www.ex.com |example| 1 | 10. |
| www.ex.com | ex | 1 | 20. |
| www.ex.com | lol | 1 | 30. |
| www.ex.com/h| hello | 4 | 40 |
解决方案
你没有提到你使用的是哪个数据库,所以我假设它是一个现代的,带有窗口函数:
你可以做:
select *
from (
select *,
row_number() over (partition by URL order by position, volume desc) as rn
from (
-- your query here
) x
) y
where rn = 1
推荐阅读
- php - 在包装中不起作用
- python - 在 z3py 中声明外部函数
- maven - mavenCentral()、jCenter() 和 mavenLocal() 的区别?
- 3d - 最大点云细化
- csv - Neo4j 将数据库导出为 CSV 的最佳方式
- vba - 将数据从一个工作簿复制到另一个工作簿的宏
- javascript - Firebase google auth 未完全退出
- outlook - 通过 Rest API 推送联系人时的 Office 365 / Outlook 问题
- c++ - 在 CPP 中初始化 typedef 结构变量
- angular - AngularJS 2方式数据绑定不起作用?