导航:
论坛 -> 数据库专区
斑竹:liumazi,waterstone
作者:
2019/4/26 15:35:50
标题:
加入我的收藏
楼主:
想求出一个按时间顺序的第一个值和最后一个值,还真没想出一个好的方法,都是笨拙的方法,看看群里有没有高手提点一下.原来的方法,感觉笨, select * from(select top 1 * from table order by 日期desc) union (select top 1 * from table order by 日期 asc); 谁有更好的方法?
----------------------------------------------
-
作者:
2019/4/26 15:40:13
1楼:
这办法看起来不错呀,传输量小,计算放在服务器端。
----------------------------------------------
-
作者:
2019/4/26 15:44:50
2楼:
想找个更简洁优雅的
----------------------------------------------
-
作者:
a5824 (Return)
★☆☆☆☆
-
普通会员
2019/4/26 15:49:01
3楼:
SELECT MIN(日期) AS minDate,Max(日期) as maxData FROM table
----------------------------------------------
-
作者:
2019/4/26 15:51:56
4楼:
求的是值,不是日期
----------------------------------------------
-
作者:
a5824 (Return)
★☆☆☆☆
-
普通会员
2019/4/26 17:08:36
5楼:
SELECT * FROM ( SELECT ROW_NUMBER( ) OVER (ORDER BY 日期) AS id,ROW_NUMBER( ) OVER (ORDER BY 日期 DESC) AS idd,* FROM table ) A WHERE A.id=1 OR A.idd=1 那就这样了,看看快不快了
----------------------------------------------
-
作者:
2019/4/28 9:16:03
6楼:
对 日期 加个索引,两种写法都快
----------------------------------------------
SQL SERVER DBA QQ:315054403 曾经的Delphier 缘在上海
作者:
2019/4/28 9:57:24
7楼:
当sqlserver遇到oracle
----------------------------------------------
-
作者:
2019/4/28 12:56:05
8楼:
@Return 你的方法速度挺快的,但是我想要的结果是: select 值1 as 第一个数据,值2 as 最后一个数据,max(值) as 最大数值 from table 这已经不错了,非常感谢!
----------------------------------------------
-