2 qq 32416519 qq_32416519 于 2016.05.09 20:46 提问

C#查询出最新记录,显示在网页上

SQL数据库中有这么一个表:
序号 时间 节点 温度 湿度

1 07:05:18 A 14.2 3.8

2 08:15:23 B 12.7 4.6
3 09:27:43 C 13.9 5.7
4 12:58:09 A 15.8 2.6
5 13:18:06 B 16.6 2.7
VS2010中用C#编的网页,希望查询数据库后 得到如下表格显示在网页上
节点 时间 温度 湿度
A 12:58:09 15.8 2.6
B 13:18:06 16.6 2.7
C 09:27:43 13.9 5.7

就是按照时间,查出节点的最新记录,然后一块显示出来

8个回答

herozhangbz
herozhangbz   2016.05.11 09:27
已采纳

图片说明
你在后面加上where rw=1;就能筛选出时间最近的记录

qq_32416519
qq_32416519 虽然没有完全实现,但还是谢谢你,分给你了
一年多之前 回复
qq_32416519
qq_32416519 我知道了,得分开写,研究研究
一年多之前 回复
caozhy
caozhy   Ds   Rxr 2016.05.09 20:57

select 节点, max(时间), max(温度), max(湿度) from 表 group by 节点

qq_32416519
qq_32416519 不能这样啊,后面的数据我是随意编的,实际上不是这样,字段很多,我只是举例而已。。。。。。。
一年多之前 回复
qq_32416519
qq_32416519   2016.05.09 21:01

有没有给个想法,实现选出不同节点的最新条记录,然后这不同节点的记录放到一个表里,显示在网页上

yicp123
yicp123   2016.05.10 10:18

select 节点, max(时间), 温度, 湿度 from 表 group by 节点

有兴趣可以看看GROUP BY 的用法以及如何优化GROUP BY http://www.data.5helpyou.com/article237.html

herozhangbz
herozhangbz   2016.05.10 13:11
     select * from (select ROW_NUMBER() over(partition by 节点 order by时间 desc) rw,t_Szxxjlb.* from 表) where rw=1

按节点分组,时间逆序排序,取第一行记录

herozhangbz
herozhangbz 我这个语句是组合的,( select ROW_NUMBER() over(partition by 节点 order by 时间 desc) rw,表.* from 表)这条语句相当于在你的表加上一个rw字段,用于记录按照节点分组后当前节点的所有记录。加上这个列的目的是为了筛选rw=1就是第一行记录,因为是按照时间逆序排序所以是最新的时间。这条SQL语句在Oracle数据库查询的时候没用任何问题。你试试看能不能查询到。外面那层就是选出你想要的字段也没有问题。
一年多之前 回复
herozhangbz
herozhangbz 不是让你改成你自己的表么,这是我自己的表。我之前用过的语句,应该没有语法错误
一年多之前 回复
qq_32416519
qq_32416519 我就是想的 按节点分组,时间逆序排序,top 1取一条记录,然而并没有用,改了好多次,快疯了
一年多之前 回复
qq_32416519
qq_32416519 回复herozhangbz: t_Szxxjlb.* from 表 后面这个还是查询的表啊,不对吧,总是提示from附近有语法错误
一年多之前 回复
herozhangbz
herozhangbz 把那个t_Szxxjlb.换成你的表,漏改了
一年多之前 回复
qq_32416519
qq_32416519   2016.05.11 16:38

图片说明
我的总是报错,上面是在SQL数据库里面查询的时候‘
下面是在VS里面运行的时候
图片说明
@herozhangbz
我去学习下这个函数

herozhangbz
herozhangbz 外面那层不需要加了,select row_number()(……)rw,(表里面需要的字段拎出来就行了) from 表 where rw=1.
一年多之前 回复
qq_32416519
qq_32416519 回复herozhangbz: 我先执行select ROW_NUMBER() over(partition by 节点 order by时间 desc) rw,t_Szxxjlb.* from 表这一句就没有错,加上外部的语句就报错,挺奇怪的
一年多之前 回复
herozhangbz
herozhangbz 嗯嗯,你的是SQLserver数据库,这个函数是Oracle的分析函数,某些强大的函数SQLserver是没有的。
一年多之前 回复
CSDNXIAON
CSDNXIAON   2016.05.09 20:52

13.01.17 C# Linq 查询最新的记录
----------------------同志你好,我是CSDN问答机器人小N,奉组织之命为你提供参考答案,编程尚未成功,同志仍需努力!

qq_32416519
qq_32416519   2016.05.09 20:55

我现在可以找出不同节点显示在网页上,但查出的只是这一个字段,怎么把最新记录的一条信息都现实啊,求大神指教

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!