SQL Server 表A 有字段 id,a,b,c,d ,id是递增序号,按照a和b分组,并选出指定值的c,找出这条数据对应的id
时间: 2023-12-10 10:40:19 浏览: 23
可以使用如下 SQL 语句来实现:
```
SELECT id
FROM A
WHERE a = '指定值1' AND b = '指定值2' AND c = '指定值3'
GROUP BY a, b, c
```
其中,`指定值1`、`指定值2`、`指定值3` 分别为需要查找的 `a`、`b`、`c` 字段的具体值。使用 `GROUP BY` 子句按照 `a` 和 `b` 字段进行分组,再通过 `WHERE` 子句选取符合条件的记录,最后通过 `SELECT` 子句选择对应的 `id` 字段。
相关问题
SQL Server 表A 有字段 id,a,b,c,d ,id是递增序号,按照a和b分组,并选出最大的c,找出这条数据对应的id
可以使用以下 SQL 查询语句来实现:
```sql
SELECT MAX(c) AS max_c, a, b
FROM A
GROUP BY a, b
```
这将按照a和b分组,并选出每个组中最大的c值。然后,我们可以再次使用这个查询结果来查找对应的id值:
```sql
SELECT A.id
FROM A
JOIN (
SELECT MAX(c) AS max_c, a, b
FROM A
GROUP BY a, b
) AS sub
ON A.a = sub.a AND A.b = sub.b AND A.c = sub.max_c
```
这将返回每个组中最大的c值所对应的id值。
SQL Server 表A 有字段 id,a,b,c ,id是递增序号,按照a分组,并选出最大的b,并找到这条数据对应的id
可以使用如下的 SQL 语句实现:
```sql
SELECT MAX(b) AS max_b, MAX(id) AS id
FROM A
GROUP BY a;
```
这个语句会先按照 a 字段分组,然后在每个分组中找到最大的 b 值和对应的 id 值。注意,这里用到了 MAX() 聚合函数,它会返回指定列中的最大值。