这句SQL哪错了?

zxzy1981 2003-09-12 03:42:56
SELECT DISTINCTROW TagName,Value,Time AS [Time of Min]
FROM Tag0101
WHERE Value=Min(Tag0101.Value)
GROUP BY Tag0101.TagName;


表如下:
tagname value time
a 5 0:00
b 10 1:00
b 12 2:00
a 3 3:00

该查询是想按tagname分组显示最小值出现时间,如下:
tagname value time
a 5 0:00
b 12 2:00

-------------------------
系统说是where子句中不能有合计函数,那么应该怎么改啊?
...全文
68 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
yyy431706 2003-09-13
  • 打赏
  • 举报
回复
在sql server上调试通过

select tagname,value,time from Tag0101 where value in (select min(value) from Tag0101 group by tagname)
happy_0325 2003-09-12
  • 打赏
  • 举报
回复
select tagname,value,time from ai a where value=(select min(value) from ai b where b.tagname=a.tagname group by tagname )
antoversky 2003-09-12
  • 打赏
  • 举报
回复
SELECT DISTINCTROW A.TagName,A.Value,A.Time AS [Time of Min]
FROM Tag0101 A
WHERE Value=(select Min(Value) from Tag0101 where tagname = a.tagname)
GROUP BY A.TagName,A.Value,A.Time
fjw2002 2003-09-12
  • 打赏
  • 举报
回复
SELECT * FROM Tag0101 as xxx
WHERE Value=(select Min(Value)
from tag0101 where xxx.tagname=tagname)
aierong 2003-09-12
  • 打赏
  • 举报
回复



create table ai( tagname varchar(100), value int, time varchar(100))
insert into ai values('a', 5 , '0:00')
insert into ai values('b', 10, '1:00')
insert into ai values('b', 12, '2:00')
insert into ai values('a', 3, '3:00')


SELECT tagname,Value ,Time
FROM ai as a
GROUP BY TagName,value,time
having value=(select min(value) from ai where tagname=a.tagname )
order by tagname
aierong 2003-09-12
  • 打赏
  • 举报
回复



create table ai( tagname varchar(100), value int, time varchar(100))
insert into ai values('a', 5 , '0:00')
insert into ai values('b', 10, '1:00')
insert into ai values('b', 12, '2:00')
insert into ai values('a', 3, '3:00')


SELECT tagname,min(Value) as value ,Time
FROM ai as A
WHERE Value=(select Min(Value) from ai where tagname = a.tagname)
GROUP BY TagName,time
order by tagname
zxzy1981 2003-09-12
  • 打赏
  • 举报
回复
thank myflok!
but why can't yujohny's code work?
dafu71 2003-09-12
  • 打赏
  • 举报
回复
SELECT * FROM Tag0101 as xxx
WHERE Value=(select Min(Value)
from tag0101 where xxx.tagname=tagname)

or

SELECT * FROM Tag0101 as xxx
WHERE not exists(selec 1 from tag0101
where xxx.value>value and xxx.tagname=tagname)

zxzy1981 2003-09-12
  • 打赏
  • 举报
回复
the sys said:试图执行的查询中不包含特定表达式‘value’
txlicenhe 2003-09-12
  • 打赏
  • 举报
回复
SELECT DISTINCTROW A.TagName,A.Value,A.Time AS [Time of Min]
FROM Tag0101 A
WHERE Value=(select Min(Value) from Tag0101 where tagname = a.tagname)
GROUP BY A.TagName;
yujohny 2003-09-12
  • 打赏
  • 举报
回复
SELECT DISTINCTROW A.TagName,A.Value,A.Time AS [Time of Min]
FROM Tag0101 A
WHERE Value=(select Min(Value) from Tag0101)
GROUP BY A.TagName;

34,576

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧