收录日期:2019/06/20 13:38:56 时间:2016/08/13 21:07:37 标签:开发
SERIAL_NUMBER  WEPKEY    SSID     PASSWORD SBBS                I_TIME
0C4C397581CB apjkzhcp 4KYP          vnnhx    350000C4C39758199 2011/10/26 20:10:14
0C4C397581CB uwjngn62 YfDw          gmeag    340000C4C397581CB 2011/10/26 20:20:14

像上面的表 :sajet.iac_oem

我想查出最新一笔的资料

我的SQl是这样的,但是不知道为什么会报:ora-00913 :too many values

select  b.wepkey, b.ssid, b.password, b.sbbs
  from sajet.iac_oem b
 where b.serial_number  in (select SERIAL_NUMBER,
                                max(to_char(i_time, 'YYYY/MM/DD HH24:MI:SS')) i_time
                           from sajet.iac_oem t
                          group by SERIAL_NUMBER)

请高手帮忙,该怎么修改。。。。谢谢


in里面的子查询多了i_time ??
in语句中查询时多了一个栏位
b.serial_number in (select SERIAL_NUMBER,i_time  from sajet.iac_oem t)
1对多了。
in 里面多了一个时间的字段
不是多了一个 i_time ,而是应该 in 前面 加上一个 i_time
那怎么去最后一笔资料? 就是说时间最新的



引用 3 楼 syshzbtt 的回复:
b.serial_number in (select SERIAL_NUMBER,i_time  from sajet.iac_oem t)
1对多了。

怎么修改最为简便?我初学

引用 5 楼 coolkisses 的回复:
不是多了一个 i_time ,而是应该 in 前面 加上一个 i_time

select * from (
select wepkey, ssid, password, sbbs
  from sajet.iac_oem 
  order by i_time desc) where  rownum=1


排序取第一个值就是最新的了
或者按你的写法,但要修改一下

select b.wepkey, b.ssid, b.password, b.sbbs
  from sajet.iac_oem b
 where b.serial_number,[color=#FF0000]b.i_time [/color]in (select SERIAL_NUMBER,max(i_time) i_time  from sajet.iac_oem t
  group by SERIAL_NUMBER)


那怎么修改简便,我初学SQL

引用 4 楼 bin3509 的回复:
in 里面多了一个时间的字段
我的记录不止一条的,只是里面有两条是重复的,但是必须去时间为最近的那一笔,所以您写的SQL 好像不能实现,然后修改的那个SQl ,运行了一下,也是报错的


引用 8 楼 mailking 的回复:
SQL code

select * from (
select wepkey, ssid, password, sbbs
  from sajet.iac_oem 
  order by i_time desc) where  rownum=1



排序取第一个值就是最新的了
或者按你的写法,但要修改一下
SQL code

select b.wepkey, b.ssid, b.p……
select b.wepkey, b.ssid, b.password, b.sbbs
  from sajet.iac_oem b
 where b.serial_number in (select SERIAL_NUMBER  from sajet.iac_oem t
  group by SERIAL_NUMBER)
SELECT b.wepkey,sword, b.sbbs FROM

(SELECT DISTINCT  (b.wepkey),sword, b.sbbs
  from sajet.iac_oem b
ORDER BY b.I_TIME) t
GROUP BY  t.wepkey,t.sword, t.sbbs

SELECT T.WEPKEY, T.SWORD, T.SBBS
  FROM (SELECT DISTINCT (B.WEPKEY), SWORD, B.SBBS
          FROM SAJET.IAC_OEM B
         ORDER BY B.I_TIME) T
 WHERE ROWNUM <=1
 GROUP BY T.WEPKEY,
          T.SWORD,
          T.SBBS
select b.wepkey, b.ssid, b.password, b.sbbs
  from sajet.iac_oem b
 where b.serial_number,ROWID in (select SERIAL_NUMBER,MIN(ROWID)  from sajet.iac_oem t
  group by SERIAL_NUMBER)
---------------上 有误

--取靠前的值,如果取后值,改成max
select b.wepkey, b.ssid, b.password, b.sbbs
  from sajet.iac_oem b
 where (b.serial_number,ROWID) in (select SERIAL_NUMBER,MIN(ROWID)  from sajet.iac_oem t
  group by SERIAL_NUMBER)
上面ORDER BY T.T_time 后面加个DESC 这个给忘记了!
where b.serial_number in (select SERIAL_NUMBER,
  max(to_char(i_time, 'YYYY/MM/DD HH24:MI:SS')) i_time
  from sajet.iac_oem t
  group by SERIAL_NUMBER)

select SERIAL_NUMBER,max(to_char(i_time, 'YYYY/MM/DD HH24:MI:SS')) i_time查出来是两列
b.serial_number in 是一列


改成:
where (b.serial_numbe,b.i_time) in (select SERIAL_NUMBER,
  max(to_char(i_time, 'YYYY/MM/DD HH24:MI:SS')) i_time
  from sajet.iac_oem t
  group by SERIAL_NUMBER)

这个问题实在不知道在哪问了,来水区碰下运气 怎样对jTree的各节点进行操作 大家帮忙推荐几个英文的专业论坛,最好各个类别的都有,有分哦。 窗口创建是触发哪个事件 如何在EXCEL中,用VBA使用纯数组成的表名时,显示\"下标越界\" 高手,求助,如何将SQL SERVER 2000 查询结果直接存储在EXCEL中? 字符集转换问题! SQL数据库我想学,但是不知道是不是直接就能学这个? 戴尔insprine 6000显示问题?求教!!! 列表值如何传输到数据库!帮忙!简单的问题,送分了! 如何透明 Image上的位图上的某一个颜色? 人在线 求教一个在SWT中关于应用鼠标的问题 ***一道简单的题目***答对的前2位高手每人50分!***在线等待!!!!!!!!!1 ***一道简单的题目***答对的前2位高手每人50分!***在线等待!!!!!!!!! fastreport3的奇怪问题 很简单但是比较奇怪的问题,请帮我看看,谢谢。 如何把窗体上所有的内容都打印出来 有人还记得原先网上发的上网必看的那几个网站么? web程序在21.9M的IIS执行正常,在21.6M的IIS下执行会出现错误,请各位帮忙 如何提交时判断两个文本框值是否相同? 如何把在PD中设计好的表导入到SQL2000中? 怎样做不规则的热区? ado连接oracle时,我知道了服务器的ip地址和oracle服务的sid请问我该用哪个来写连接字符串 我的桌面图标为什么不见了? 請教幾個常見的DELPHI問題 如何獲取mac地址? 新浪上不去是什么原因? 常规网络错误。请检查您的网络文档??? 控件求助中! 为什么程序上传到新的服务器上会出现下面的错误