不是很明白你的意思select distinct * from table
select top(1) * from table ????????

解决方案 »

  1.   

       建议你列出你的表结构,并提供测试数据以及基于这些测试数据的所对应正确结果。
       参考一下这个贴子的提问方式http://bbs.csdn.net/topics/320211382
       
       1. 你的 create table xxx .. 语句
       2. 你的 insert into xxx ... 语句
       3. 结果是什么样,(并给以简单的算法描述)
       4. 你用的数据库名称和版本(经常有人在MS SQL server版问 MySQL)
       
       这样想帮你的人可以直接搭建和你相同的环境,并在给出方案前进行测试,避免文字描述理解上的误差。
      

  2.   


    CREATE TABLE IF NOT EXISTS `bs_jylsjl_history` (
      `jylsid` int(11) NOT NULL AUTO_INCREMENT COMMENT 'ID 主键自动增长',
      `lsbh` varchar(30) NOT NULL COMMENT '中心系统流水号',
      `xtls` varchar(30) NOT NULL COMMENT '核心系统流水号',
      `shbh` varchar(20) NOT NULL COMMENT '商户编号,外键',
      `zdbh` varchar(20) NOT NULL COMMENT '终端编号,外键',
      `zdls` varchar(30) DEFAULT NULL COMMENT '终端流水号',
      `jszh` varchar(25) NOT NULL COMMENT '结算账号',
      `chzh` varchar(25) NOT NULL COMMENT '储户账号',
      `chhm` varchar(30) NOT NULL DEFAULT '未知' COMMENT '储户户名',
      `jym` char(4) NOT NULL COMMENT '交易码 ,3位偏移量加1位交易渠道值',
      `ywbh` varchar(30) NOT NULL COMMENT '业务编号 ,外键',
      `jyrq` varchar(10) NOT NULL COMMENT '交易日期:YYYYMMDD',
      `jysj` varchar(8) NOT NULL COMMENT '交易时间:HHMMSS',
      `qssj` varchar(20) DEFAULT NULL COMMENT '清算时间',
      `jyje` varchar(15) NOT NULL DEFAULT '0.00' COMMENT '交易金额',
      `jyztm` varchar(10) NOT NULL COMMENT '交易状态码',
      `jyfff` char(2) NOT NULL COMMENT '付费方:00 -转出卡   01-转入卡',
      `jysxf` varchar(15) NOT NULL DEFAULT '0.00' COMMENT '储户手续费',
      `shsxf` varchar(15) DEFAULT '0.0' COMMENT '商户手续费',
      `shfrsxf` varchar(15) NOT NULL DEFAULT '0.0' COMMENT '商户分润手续费',
      `shyj` varchar(15) NOT NULL DEFAULT '0.00' COMMENT '商户佣金',
      `czybh` varchar(20) NOT NULL COMMENT '操作员编号',
      `hclzt` varchar(10) DEFAULT NULL COMMENT '后处理状态,0,无,1冲正,2,撤销',
      `zrzh` varchar(25) NOT NULL COMMENT '转入账户',
      `ssjgm` varchar(8) NOT NULL COMMENT '商户所属机构码',
      `ssjgmc` varchar(30) NOT NULL COMMENT '商户所属机构名称',
      `pcbh` varchar(30) DEFAULT NULL COMMENT '终端批次号',
      `shzdls` varchar(32) DEFAULT NULL COMMENT '商户终端流水',
      `dkzh` varchar(25) DEFAULT NULL COMMENT '贷款帐号,预留',
      `dklx` varchar(3) DEFAULT NULL COMMENT '贷款类型,预留',
      `sqm` varchar(10) DEFAULT NULL COMMENT '授权码',
      `xtckh` varchar(10) DEFAULT NULL COMMENT '系统参考号',
      `yjylsh` varchar(30) DEFAULT NULL COMMENT '原交易流水号',
      `ypch` varchar(10) DEFAULT NULL COMMENT '原批次号',
      `xtxym` varchar(6) NOT NULL COMMENT '系统响应吗',
      `ylzd2` timestamp NULL DEFAULT CURRENT_TIMESTAMP,
      `ylzd3` varchar(10) DEFAULT NULL COMMENT '预留字段',
      `ylzd4` varchar(10) DEFAULT NULL COMMENT '预留字段',
      `ylzd5` varchar(10) DEFAULT NULL COMMENT '预留字段',
      `ylzd6` varchar(10) NOT NULL COMMENT '预留字段',
      `ylzd7` varchar(10) NOT NULL COMMENT '预留字段',
      `ylzd8` varchar(10) NOT NULL COMMENT '预留字段',
      `ylzd9` varchar(10) NOT NULL COMMENT '预留字段',
      `ylzd10` varchar(10) NOT NULL COMMENT '预留字段',
      `jyqd` varchar(30) DEFAULT NULL COMMENT '交易渠道',
      `zczh` varchar(35) NOT NULL COMMENT '转出账号',
      `jybz` varchar(50) DEFAULT NULL COMMENT '交易备注',
      `yxtlsh` varchar(30) DEFAULT NULL COMMENT '原系统流水号',
      `yxtckh` varchar(20) DEFAULT NULL COMMENT '原系统参考号',
      `sapbh` varchar(10) DEFAULT NULL COMMENT 'sap标识',
      UNIQUE KEY `shzdls` (`shzdls`) USING BTREE
    ) ENGINE=InnoDB  DEFAULT CHARSET=gbk COMMENT='交易流水记录表' AUTO_INCREMENT=31226 ;
    CREATE TABLE IF NOT EXISTS `isa_jgxx` (
      `jgxxid` int(8) NOT NULL AUTO_INCREMENT COMMENT '主键id',
      `regioncode` varchar(8) NOT NULL DEFAULT '' COMMENT '机构码',
      `parentcode` varchar(8) NOT NULL DEFAULT '' COMMENT '上级机构码',
      `regionname` varchar(50) NOT NULL,
      `re` varchar(50) NOT NULL DEFAULT '' COMMENT '标记',
      `areacode` varchar(6) NOT NULL COMMENT '主键id',
      `shnum` int(8) DEFAULT '0',
      PRIMARY KEY (`jgxxid`)
    ) ENGINE=InnoDB  DEFAULT CHARSET=utf8 AUTO_INCREMENT=3008 ;
      select jycgbs,jycgje ,jysbbs, jysbje  ,shbh,zdbh,sapbh, shmc, jgdm,jg.regionname as jgmc  from  (select  IF(both_tj.hclzt='00',jyzbs,0) AS jycgbs,IF(both_tj.hclzt='00',jyzje,0) AS jycgje,IF(both_tj.hclzt!='00',jyzbs,0) AS jysbbs,IF(both_tj.hclzt!='00',jyzje,0) AS jysbje ,both_tj.shbh,sapbh, shmc,zdbh, jgdm from ( SELECT count(jylsid) as jyzbs,sum(jyje) as jyzje ,sapbh,hclzt,shbh,zdbh FROM bs_jylsjl_history bs_jyls  WHERE  (jyrq between 20141101 and   20141130) group by  shbh,zdbh,sapbh,hclzt)  as both_tj    inner join   msgm_shxx shxx   on  shxx.shbh =both_tj.shbh ) as tjlist  inner join isa_jgxx  jg on jg.regioncode=tjlist.jgdm