oracle查询:取出每组中的第一条记录按type字段分组,code排序,取出每组中的第一条记录 方法一: select type,min(code) from group_info group by type; 注意:select 后面的列要在group by 子句中,或是用聚合函数包含,否则会有语法错误. 方法二: SELECT * FROM(SELECT z.type , z.code ,ROW_NUMBER()OVER(PARTITION BY z.type ORDER BY z.cod…
原文地址:http://blog.csdn.net/seandba/article/details/72730657 函数PIVOT.UNPIVOT转置函数实现行转列.列转行,效果如下图所示: 1.PIVOT为行转列,从图示的左边到右边 2.UNPIVOT为列转行,从图示的右边到左边 3.左边为纵表,结构简单,易扩展 4.右边为横表,展示清晰,方便查询 5.很多时候业务表为纵表,但是统计分析需要的结果如右边的横表,这时候就需要用到转置函数了 示例图表: Pivot语法: SELECT ....…
oracle数据库,表数据如下: ids                           id 3,4,5                        7 13,14,15,16             17 想要使用sql,实现将ids按照逗号分割后查询到如下记录: ids                           id 3                              7 4                              7 5            …
--建表 create table kecheng( id NUMBER, name VARCHAR2(20), course VARCHAR2(20), score NUMBER); --插入数据insert into kecheng (id, name, course, score)values (1, '张三', '语文', 67);insert into kecheng (id, name, course, score)values (1, '张三', '数学', 76);insert…
以下SQL执行时间按序号递减. 1,动态SQL,没有绑定变量,每次执行都做硬解析操作,占用较大的共享池空间,若共享池空间不足,会导致其他SQL语句的解析信息被挤出共享池. create or replace procedure proc1 as  begin for i in 1..100000 loop     execute immediate 'insert into t values('||i||')';     commit;     end loop; end;   2,动态SQL,…
---计算九月每个电厂的数量select f_dcname,count(f_dcname) as 九月份的数量 from W_EC_PLACESTATION_COLLECT twhere f_collectdate >= TRUNC(TO_DATE('2018-09-01','yyyy-MM-dd'),'month') AND f_collectdate < TO_DATE('2018-09-30','yyyy-MM-dd')+1group by f_dcname ----计算九月份每个电厂对…
-----------------------建表------------------------- create table test(id int, plist varchar2(30)) ; create table p(pid int ,pname varchar2(10)); -----------------------插入测试数据---------------------------- insert into test values(1,'28345|39262|56214');…
CREATE TABLE [TestTable] ( ) NOT NULL , ) NOT NULL , ) ))) GO ALTER TABLE [TestTable] ADD PRIMARY KEY ([uid], [key]) GO ) GO ) GO ) GO ) GO ) GO ) GO WITH cte AS ( SELECT *, ROW_NUMBER() OVER (PARTITION BY uid ORDER BY [key] DESC) AS rn FROM vtable )…
语句的执行环境是plsql的sql窗口, 语句的目的是从整个数据库中的所有表判断 不等于某个字段的记录数 . 代码如下: declare s_sql clob:=''; -- 声明一个变量,该变量用于存储查询的sql语句   v_cityCode varchar2(20); -- 每个sql语句执行完的查询结果   code varchar2(20); -- 查询条件   begin -- 开启事务     code :='110112';      for wf in(select table…
创建用到的表的SQL CREATE TABLE [dbo].[emp_pay]( [employeeID] [int] NOT NULL, [base_pay] [money] NOT NULL, [commission] [decimal](2, 2) NOT NULL ) ON [PRIMARY] 生成的表,及表中的数据:   --方法一 select top 1 * from ( SELECT TOP 2 * FROM [dbo].[emp_pay] WHERE base_pay = 50…