sql/mysql过滤器仅包含最大值
发布时间:2020-05-24 00:03:49 所属栏目:MsSql 来源:互联网
导读:我有一个像这样的结果集: ID | name | myvalue 1 | A1 | 22 2 | A2 | 22 3 | A3 | 21 4 | A4 | 33 5 | A5 | 33 6 | A6 | 10 7 | A7 | 10 8 | A8 | 10 9 | A9 | 5 我想要的是,只包括包含最高“myvalue”的
|
我有一个像这样的结果集: ID | name | myvalue 1 | A1 | 22 2 | A2 | 22 3 | A3 | 21 4 | A4 | 33 5 | A5 | 33 6 | A6 | 10 7 | A7 | 10 8 | A8 | 10 9 | A9 | 5 我想要的是,只包括包含最高“myvalue”的行(在前面的例子中是33),然后: ID | name | myvalue 4 | A4 | 33 5 | A5 | 33 IE查询应该选择最高的“myvalue”(IE 33)并且它应该删除具有myvalue<的行. 33 SELECT ..... WHERE myvalue = THE_HIGHEST_OF(myvalue) 希望能够清楚…… 先感谢您 编辑: 我目前的查询是 SELECT
*,(very long code that returns a integer as relevance score) AS myvalue
FROM
mytable
HAVING
myvalue = ?????
ORDER BY
myvalue DESC
现在最高的myvalue可以是10,20,30,任意数字……在最终结果集中我想只包含具有最高相关性得分的行 香港专业教育学院尝试使用GROUP BY,但我总是需要重复… (very long code that returns a integer as relevance score) AS myvalue …两次 解决方法SELECT * FROM t WHERE myValue IN (SELECT max(myValue) From t); See this SQLFiddle 编辑: 按照discussion with OP. (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- sql-server – 从连接表中选择时如何避免死锁?
- SQL Server SQL中JOIN和UNION区别、用法及示例介绍
- tsql – SQL UPDATE将一列设置为另一个值并在同一步骤中更改
- sql azure耗时的查询
- sql-server – SQL Server日期时间vs Int关键字的性能
- sql – 如何在Linq中编写SELECT FROM myTable WHERE id IN(
- sql-server – 外部应用vs左连接性能
- Rails中使用MySQL分区表一个提升性能的方法
- sql – 唯一日期时间范围的Postgres约束
- sql – 从工资中选择rownum,其中rownum = 3;
