Ⅰ 请教sql语句,查询统计故障率。
SELECT DATEDIFF(SECOND,A.故障开始时间,A.故障结束时间)/DATEDIFF(SECOND,B.开机时间,GETDATE()) FROM A INNER JOIN B ON A.设备号=B.设备号
Ⅱ sql 查数据库中时间最新的一条记录
select *,max(create_time) from a
where create_time<="2017-03-29 19:30:36"
group by user_id
这句可以理解为将结果集根据user_id分组,每组取time最大一条记录。这样就很好的实现了批量查询最近记录,并且仅仅需要遍历一次表,即使在数据量巨大的情况下也可以在很短的时间查出结果。
(2)sql查出每个故障最新的时间扩展阅读:
SQL数据查询语句
1、语句语法简单归纳为:
SELECTselect_list[INTOnew_table_name] [FROMtable_source]
[WHEREsearch_condition] [GROUP BYgroup_by_expression]
[HAVINGsearch_condition] [ORDER BYorder_expression[ASC | DESC]]
2、WITH子句用于指定临时命名的公用表达式,在单条语句(SELECT、INSERT、UPDATE、DELETE)的语句执行范围内定义。
3、LIKE关键字
用于模糊查询,通配符有%、_、[ ]、[^]
%:后面可以跟零个或多个字符
_:匹配任意单个字符
[ ]:查询一定范围内的单个字符,包括两端数据
[^]:表示不在一定范围内的单个字符,包括两端数据
Ⅲ sql如何提取最新的时间记录
你要取最新的时间记录 只要取得最大的时间就行了 max(时间字段)
如果用oracle 就得转化一下时间 todate().
Ⅳ SQL分组查询每个组的最新时间和上一个时间的某个字段值的差
select datediff(mi,最新时间,上一个时间)
--此求出来的为正数,如果需要负数,在前面加上-号,或者将两个时间调换
Ⅳ 怎样获取sql表数据的最后更新时间
第一种方式(块级跟踪):
select ora_rowscn,
dbms_rowid.ROWID_BLOCK_NUMBER(rowid) blockid,
scn_to_timestamp(ora_rowscn)
from hs_futures.fuentrust t
order by scn_to_timestamp(ora_rowscn);
dbms_rowid.ROWID_BLOCK_NUMBER(rowid):是为获取数据所在块的ID
scn_to_timestamp(ora_rowscn):获取数据最所修改的时间
数据发现变化后通过上面SQL语句可以查看到数据最后修改的时间,注意因为是同一个块上,所以这个块上只要有DML操作那么所有数据的scn都更新了,所以凡是跟这条记录在同一个块上数据获取到的ora_rowscn和scn_to_timestamp(ora_rowscn)两个值都发生了相应的变化。
第二种方式(行级跟踪):
create table hs_futures.fuentrust_test1 rowdependencies as
select * from hs_futures.fuentrust
用以上语句创建一个基于ROWDEPENDENCIES模式的表,然后用第一种方法中的SQL去查询此表数据中的ora_rowscn,scn_to_timestamp(ora_rowscn)两个值,修改其中的某一条记录然后再去查询那个值发现发生变化的只是被修改那条记录的这两个值发生了变化,而在同一个块中没有被修改的其它记录这两个值是不会产生变化的。
Ⅵ SQL按时间搜索最新记录问题
select 物料编码,时间,价格
from tableA X
where 时间=
(select max(时间)
from tableA Y
where X. 物料编码=Y.物料编码)
楼上的写法也可以,但是只限定表中物料仅三种的情况。如果物料数据很多,不止三种的话,最好用我提供的方法
Ⅶ sql 查询问题:如何获取表中最新时间
年,月,日,时,分,秒,你是分在不同的字段存的是吧,那么,年份是最大的单位是吧,年份数值最大的就是时间最新的,后边的月,日等等就都可以省略了不是。如果年份相同,那么再比较月份最大的,如果月份相同再比较.....费话太多了,省略之,咱说重点
MySQL语句:
SELECT * FROM `grmc_awst_ele` ORDER BY `c_oyyyy` DESC,`c_omm` DESC,`c_odd` DESC,`C_OHH` DESC,`C_OMN` DESC,`C_OSS` DESC LIMIT 1
然后你括号里的东西“(年 datatime)”数据类型是datatime吗?为什么你把年,月,日,时,分,秒存在不同的字段却使用这种数据类型,滑稽吧。
我敢打保证,我上边的语句在Mysql下边一定能起到你要的效果,但是不知道你的sql是什么。
Ⅷ SQL 如何获取时间最新的记录
select top 1 * from table order by dateField desc 按时间倒序排,取第一条就是最新的记录
Ⅸ sql 语句问题,如何查询一个时间 最近的10条记录
select top(10)* , abs(datediff(day,时间列名,'2008-02-22')) as 相差天数 from 表名
order by 相差天数--排序,升序
---------------------------------
abs--取绝对值的
datediff(day,time,'2008-02-22')) --取出相差'20080222'的相差天数
并且取别名为aaaa
Ⅹ SQL找出时间最新的一组记录
这个用SELECT DISTINCT就可以解决了。
DISTINCT是专门去重复的
SELECT DISTINCT A, B FROM TABLE
去重复的依据就是DISTINCT后边的字段,如果SELECT DISTINCT A FROM TABLE,那么选择不重复的A,SELECT DISTINCT A, B FROM TABLE ,那么选择不重复的A,B组合。
SELECT DISTINCT * FROM TABLE,那么选择不重复的表单行记录。