sql - 查询中的 SQL MIN 函数 - 3 列访问
问题描述
我尝试使用 min 函数,但是当我尝试查看 3 列时它不起作用。我有这张桌子
并在 Field_2 上使用 MIN() 函数,我想得到这个输出
我的查询是
SELECT FIELD_1, MIN(FIELD_2) FROM TABLE GROUP BY FIELD_1
如果我添加列 ID,我会得到所有相同的表。
解决方案
subquery
改为使用
select *
from table t
where field_2 = (select min(field_2) from table where field_1 = t.field_1);
但是,您也可以使用LIMIT
子句
select *
from table t
where id = (select id
from table
where field_1 = t.field_1
order by field_2 asc
LIMIT 1);
但是,一些DBMS没有LIMIT
这样的子句 ( SQL Srver
) 所以,使用这样TOP
的代替:
. . .
where id = (select top (1) id
from table
where field_1 = t.field_1
order by field_2 asc);
推荐阅读
- graphql - 使用身份验证的 graphql 模式拼接
- c++ - 如何使用 WriteProcessMemory (WPM) 替换字符串?
- javascript - 如何仅在 jQuery 中断开当前事件?
- php - 为什么我的代码不容易受到 SQL 注入的攻击?
- sql-server - 使用 ColdFusion 2016 读取 csv/xsls 文件并插入 SQL 2008 数据库表?
- google-cloud-platform - 从 SKU 的 Google Cloud 中提取机器规格
- c# - 更新命令和 SQLDataSource 未按预期运行
- polymorphism - 有人可以解释这个 OCaml 程序中使用的类型语法吗?
- c# - 以发布模式发布应用时出现 Http/Https Mixed Content 错误
- cassandra - 在 Cassandra 或 Couchbase 中注入自定义分片