`
Zhijie.Geng
  • 浏览: 55018 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论
收藏列表
标题 标签 来源
一道SQL面试题 oracle, 分类汇总, 标记相同id第一条有效
试题
表数据:table1:
id     name    name_wt cert   cert_wt  
--------------------------------------------
A	1	2	5	10
A	2	4	7	7
B	a	3	Ha	11
B	b	999	C	10


查询结果:table2
id     name    name_wt cert   cert_wt  
--------------------------------------------
A	1	2	7	7
B	a	3	C	10


请根据table2的要求,通过编写SQL语句实现:根据ID分组,每个字段值对应的WT最小。










答案:
select A.id, A.name, A.name_wt, B.cert, B.cert_wt
  from (select *
          from (select t1.id,
                       t1.name,
                       t1.name_wt,
                       row_number() over(partition by id order by to_number(t1.name_wt) asc) unit_id
                  from table1t1)
         where unit_id = 1) A
  left join (select *
               from (select t1.id,
                            t1.cert,
                            t1.cert_wt,
                            row_number() over(partition by id order by to_number(t1.cert_wt) asc) unit_id
                       from table1t1)
              where unit_id = 1) B
    on a.id = b.id
关于oracle局域网中,远程访问的问题 oracle
这两天连接 Oracle 数据库的时候遇到一个问题,着时让我纠结了两天,过来贴出来,看是否对大家有所帮助:


问题是这样:

   我的机器上安装了 Oracle11g 数据库,朋友的机器上同样也安装了 Oracle11g 
   现在通过我的机器,访问朋友的机器,tnsnames.ora 也配置了相关的 IP 地址,
   (远程访问:sqlplus admin/admin@10.21.2.22:1521/oracl)
   一直提示:ORA 12541 TNS:无监听程序
   查了好多的资料,也试了好多方法,都无所解决,最后发现将 HOST 的IP地址,更换成主机名字就可以啦。
 
   
  LDORCL =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = tulips)(PORT = 1521))
    (CONNECT_DATA =
      (SID = orcl)
    )
  )

  再试,远程访问:sqlplus admin/admin@tulips:1521/oracl  就可以啦.....
sqlplus命令中的Oracle启动与关闭 Oracle sqlplus命令中的Oracle启动与关闭
以下的文章主要介绍的是Oracle sqlplus命令运行中,Oracle数据库的几种启动方式的描述,以下就是文章的详细内容的介绍。
AD:
本文主要介绍的是Oracle sqlplus命令运行中,Oracle启动与关闭的实际操作步骤的介绍,如果你对Oracle sqlplus命令的相关内容感兴趣的话,你不妨浏览以下的文章,对其有一个更深的了解。

Oracle的启动和关闭

1、在单机环境下要想启动或关闭Oracle系统必须首先切换到Oracle用户su - Oracle如下

a、启动Oracle系统

Oracle>svrmgrl  
SVRMGR>connect internal  
SVRMGR>startup  
SVRMGR>quit   
b、关闭Oracle系统

Oracle>svrmgrl  
SVRMGR>connect internal  
SVRMGR>shutdown  
SVRMGR>quit  
在Oracle sqlplus命令中要启动Oracle9i数据库命令:

$ sqlplus /nolog  
SQL*Plus: Release 9.2.0.1.0 - Production on Fri Oct 31
 13:53:53 2003  
Copyright (c) 1982, 2002, Oracle Corporation. 
All rights reserved.  
SQL> connect / as sysdba  
Connected to an idle instance.  
SQL> startup^C  
SQL> startup  
Oracle instance started.  
2、在双机环境下要想启动或关闭Oracle系统必须首先切换到root用户

su - root  
a、启动Oracle系统

hareg -y Oracle 
b、关闭Oracle系统

hareg -n Oracle 
Oracle数据库有哪几种启动方式

说明:

有以下几种启动方式:

1、startup nomount

非安装启动,这种方式启动下可执行:重建控制文件、重建数据库

读取init.ora文件,启动instance,即启动SGA和后台进程,这种启动只需要init.ora文件。

2、startup mount dbname

安装启动,这种方式启动下可执行:

数据库日志归档、

数据库介质恢复、

使数据文件联机或脱机,

重新定位数据文件、重做日志文件。

执行“nomount”,然后打开控制文件,确认数据文件和联机日志文件的位置,

但此时不对数据文件和日志文件进行校验检查。

3、startup open dbname

先执行“nomount”,然后执行“mount”,再打开包括Redo log文件在内的所有数据库文件,

这种方式下可访问数据库中的数据。

4、startup,等于以下三个命令

startup nomount  
alter database mount  
alter database open  
5、startup restrict

约束方式启动

这种方式能够启动数据库,但只允许具有一定特权的用户访问

非特权用户访问时,会出现以下提示:

ERROR:

ORA-01035: Oracle 只允许具有 RESTRICTED SESSION 权限的用户使用

6、startup force

在Oracle sqlplus命令的运行中强制启动方式 bitsCN.com中国网管联盟

当不能关闭数据库时,可以用startup force来完成数据库的关闭

先关闭数据库,再执行正常启动数据库命令

7、startup pfile=参数文件名

带初始化参数文件的启动方式

先读取参数文件,再按参数文件中的设置启动数据库

例:

startup pfile=E:Oracleadminoradbpfileinit.ora 
以上的相关内容就是对Oracle sqlplus命令如何运行的部分内容的介绍,望你能有所收获。
ComboBox实现输入自动过滤 封装控件 ComboBox实现输入自动过滤
package com.beyondsoft
{
	import flash.events.Event;
	
	import mx.collections.ArrayCollection;
	import mx.controls.Alert;
	import mx.controls.ComboBox;
	import mx.events.FlexEvent;
	import mx.utils.StringUtil;
	
	/**
	 * ComboBox过滤自动完成组件
	 * @author 韩敬诺 
	 * 
	 */
	public class AutoCompleteComboBox extends ComboBox
	{
		public function AutoCompleteComboBox()
		{
			if(!width){
				//如果没有指定width则设置默认的宽度
				width=120;
			}
			setStyle("paddingLeft","0");
			selectedIndex=-1;
			editable=true;
			addEventListener("creationComplete",init);
		}
		private var ac:ArrayCollection;//保存数据源
		
		/**
		 * 
		 * @param event
		 * 
		 */
		private function init(event:Event):void{
			ac=dataProvider as ArrayCollection;
		}
		/**
		 * 重写下三角按钮的点击事件
		 * @param event
		 * 
		 */
		override protected function downArrowButton_buttonDownHandler(event:FlexEvent):void{
			dataProvider=ac;
    		super.downArrowButton_buttonDownHandler(event);
    	}
		/**
		 * 当输入框中的值发生变化时开始过滤
		 * @param event
		 * 
		 */
		override protected function textInput_changeHandler(event:Event):void{
			super.textInput_changeHandler(event);
			//当数据源不为空并且关键字不为空时开始搜索数据源
			if(ac){
				var keyWord:String=StringUtil.trim(textInput.text);
				if(keyWord){
					searchKeyWord(keyWord); 
				}
			}
  		}
  		/**
  		 * 
  		 * @param keyWord关键字
  		 * 
  		 */
  		private function searchKeyWord(keyWord:String):void{
  			var dp:ArrayCollection=filterData(ac);
  			//当数据源改变的时候
  			if(dp.length>0){
  				dataProvider=dp;
  				dropdown.selectedIndex=-1;
  				dropdown.verticalScrollPosition=0;
  				textInput.setFocus();
  				//注意先设置关键字被选中后打开下拉列表
                textInput.setSelection(keyWord.length,keyWord.length);
                open();
  			}else{
  				dataProvider=ac;
  				textInput.text="";
  				selectedIndex=-1;
  				close();
  			}
  		}
  		/**
  		 * 
  		 * @param item
  		 * @return 
  		 * 
  		 */
  		private function filterData(ac:ArrayCollection):ArrayCollection{
  			var dp:ArrayCollection=new ArrayCollection();
  			for(var i:int=0;i<ac.length;i++){
  				var item:Object=ac.getItemAt(i);
  				if(item.hasOwnProperty(labelField)){
  					var value:String=item[labelField];
  					if(value.indexOf(textInput.text)!=-1){
  						dp.addItem(item);
  					}
  				}
  			}
  			return dp;
  		}
	}
}
Global site tag (gtag.js) - Google Analytics