sqlserver:
create table TM_PRODUCT (
ID bigint identity(0,1),
PROD_NAME nvarchar(128) null,
PROD_SERIAL varchar(64) null,
PROD_TYPE nvarchar(128) null,
MARK_FOR_DELETE char(1) not null default '0',
_DATE datetime null,
CONTENT nvarchar(Max) null,
constraint PK_TM_PRODUCT primary key (ID)
)
mysql:
CREATE TABLE `TM_CONTACTS` (
`ID` int(11) NOT NULL AUTO_INCREMENT,
`TERMINAL_ID` int(11) NOT NULL COMMENT '服务终端ID',
`SECTION_NAME` varchar(30) DEFAULT NULL COMMENT '科室名称',
`DOCTOR_DUTY` varchar(30) DEFAULT NULL COMMENT '医生职务',
`DOCTOR_NAME` varchar(30) DEFAULT NULL COMMENT '医生名称',
`EXE_USER_ID` int(11) DEFAULT NULL COMMENT '维护人员ID',
`COMPANY_ID` int(11) NOT NULL COMMENT '所属企业ID',
`REMARK` varchar(30) DEFAULT NULL COMMENT '备注',
`CREATE_USER` int(10) DEFAULT NULL COMMENT '创建人',
`CREATE_TIME` datetime DEFAULT NULL COMMENT '创建时间',
`UPDATE_USER` int(10) DEFAULT NULL COMMENT '更新人',
`UPDATE_TIME` datetime DEFAULT NULL COMMENT '更新时间',
`MARK_FOR_DELETE` int(1) NOT NULL DEFAULT '0' COMMENT '删除标识',
`OPT_COUNTER` int(5) NOT NULL DEFAULT '0' COMMENT '版本号',
PRIMARY KEY (`ID`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='通讯录表';
oracle:
create table TM_PROJECT
(
ID NUMBER(11) PRIMARY KEY not null,
MAIN_CODE VARCHAR2(100),
CAR_TYPE_CODE VARCHAR2(100),
CAR_TYPE_NAME VARCHAR2(100),
PRO_CODE VARCHAR2(100),
PRO_NAME VARCHAR2(100),
PRO_DESC VARCHAR2(1024),
OPT_COUNTER Number(11),
CREATE_USER Number(11),
CREATE_TIME TIMESTAMP,
UPDATE_USER Number(11),
UPDATE_TIME TIMESTAMP
);COMMIT;
create sequence SEQ_PROJECT_ID
minvalue 1
maxvalue 9999999999
start with 1
increment by 1
cache 20;
COMMIT;
@SequenceGenerator(name = "generator", sequenceName = "SEQ_PROJECT_ID")
group by 汇总:
rollup语句在跨指定的维度组上计算多个级别的小计。它还计算了一个总数。
cube是详细行的交叉表汇总。cube语句计算一组维度所有可能组合的小计,同时还计算总计。
当向 ROLLUP 传入一列时,会得到一个总计行。当向 ROLLUP 传递两列时,将会按照这两列进行分组,同时按照第一列的分组结果返回小计行。最后对所有的有一个总计行。如果 ROLLUP(A,B)则先对 A,B进行 GROUP BY,之后对 A 进行 GROUP BY,最后对全表 GROUP BY。如果 ROLLUP(A,B,C)则先对 A,B,C进行 GROUP BY ,然后对 A,B进行GROUP BY,再对 A 进行GROUP BY,最后对全表进行 GROUP BY.
如果 CUBE(A,B)则先对 A,B 进行 GROUP BY,之后对 A 进行 GROUP BY,然后对 B 进行 GROUP BY,最后对全表进行 GROUP BY.如果 CUBE(A,B,C)则先对 A,B,C 进行 GROUP BY,之后对 A,B ,之后对A,C ,之后对 B,C 之后对 A,之后对 B,之后对 C,最后对全表GROUP BY
GROUPING()函数只能配合 ROLLUP 和 CUBE 使用,GROUPING()接收一列,如果此列不为空则返回0,如果为空则返回1.