mysql 查询最新上传APP的所有用户信息

select  ue.nvcCompanyName as nvcCompanyName,ue.nvcUserName as nvcUserName,ue.nvcEmail ,ue.nvcQQ as QQ,ue.nvcMobile as nvcMobile,uaa.nvcAppName as nvcAppName,uaa.dtCreationTime
from userext ue, userapp uaa where ue.nvcEmail = uaa.nvcEmail 
AND EXISTS (select DISTINCT app.nvcAppName from appname app where app.nvcAppName = uaa.nvcAppName ) -- and uaa.nvcAppName='懒人听书' 
and EXISTS (select aa.nvcEmail,aa.nvcAppName,aa.time0  from 
(select nvcEmail,nvcAppName,MAX(dtCreationTime) as time0  from userapp GROUP BY nvcAppName) aa 
where uaa.dtCreationTime = aa.time0  and uaa.nvcAppName = aa.nvcAppName )
GROUP BY uaa.nvcAppName desc

用户表:

CREATE TABLE `userext` (
  `nvcEmail` varchar(80) NOT NULL DEFAULT '0' COMMENT '当月用户持续登录天数',
  `nvcUserName` varchar(50) DEFAULT NULL,
  `nvcMobile` varchar(30) DEFAULT NULL,
  `nvcFixedTel` varchar(20) DEFAULT NULL COMMENT '企业认证的固定电话',
  `nvcQQ` varchar(15) DEFAULT NULL,
  `nvcCompanyName` varchar(100) DEFAULT NULL,
  `nvcCompanyURL` varchar(80) DEFAULT NULL,
  `nvcCompanyAddress` varchar(150) DEFAULT NULL,
  `nvcRemark` varchar(200) DEFAULT NULL COMMENT '用户备注信息',
  `dtCreationTime` datetime DEFAULT NULL,
  `login_time` datetime DEFAULT NULL COMMENT '最近登录时间',
  `login_num` int(11) DEFAULT '0' COMMENT '登录次数',
  `nvcUserLogo` varchar(60) DEFAULT NULL,
  `area` varchar(200) DEFAULT NULL COMMENT '所在地区',
  `credentials` varchar(200) DEFAULT NULL COMMENT '(个人:身份证复印件;企业:公司营业执照)图片地址',
  `eidcard` varchar(100) DEFAULT NULL COMMENT '企业认证的手持身份证照片',
  `idcard` varchar(18) DEFAULT NULL COMMENT '个人:身份证号码',
  `contact` varchar(50) DEFAULT NULL COMMENT '企业:(联系人)',
  `contents` varchar(500) DEFAULT NULL COMMENT '用户审核不通过的时候提示的内容',
  `reg_ip` varchar(50) DEFAULT NULL COMMENT '注册访问的ip',
  `reg_address` varchar(200) DEFAULT NULL COMMENT '注册访问的实际地址',
  `is_charge` int(11) DEFAULT '0' COMMENT '是否是收费用户(0:免费;1:收费)',
  `is_internal` int(11) DEFAULT '0' COMMENT '是否内部员工(0:普通用户;1:内部员工;2:是否加急处理;)',
  `is_safe` int(11) DEFAULT '1' COMMENT '该用户上传不安全的应用(0:不安全;1:安全)',
  `no_secondary` int(11) DEFAULT '0' COMMENT '是否需要二次打包:0:需要;1:不需要',
  `integral_total` int(11) DEFAULT '0' COMMENT '用户当前总积分',
  `empirical_total` int(11) DEFAULT '0' COMMENT '用户当前总经验值',
  `grade` int(4) DEFAULT '0' COMMENT '用户当前等级',
  `last_loginNum` int(11) DEFAULT '0' COMMENT '用户持续登录天数',
  `exchange_urgent` int(11) DEFAULT '0' COMMENT '0:默认;1:兑换积分获取永久优先加密服务',
  `user_level` int(11) DEFAULT '0' COMMENT '用户级别:0:默认注册;1:未补全资料;2:认证用户',
  `encrypt_status` int(11) DEFAULT '1' COMMENT '方式:
1:普通版本加密
2:支持x86版本加密
3:普通版本加花(只加壳dex文件)
4:普通版本加花(只加用户dex文件)
5:普通版本加花(对所有dex文件加花)
6:支持x86版本加花(只加壳dex文件)
7:支持x86版本加花(只加用户dex文件)
8:支持x86版本加花(对所有dex文件加花)
9:取消二次打包防护版本加密(MM版本)
10:支持X86取消二次打包防护版本加密(X86MM版本)
11:内存加强版本加密(游戏版本)
12:内存加强版本加花(游戏加花,只加壳dex文件)
13:内存加强版本加花(游戏加花,只加用户dex文件)
14:内存加强版本加花(游戏加花,对所有dex文件加花)
15:内存加强版本加花(游戏加花,只加壳dex文件,X86支持)
16:崩坏学园定制
17:支持mm市场的游戏版本
18:爱投资定制  版本(支持本地数据加密) ',
  `pc_authorize` int(11) DEFAULT '0' COMMENT 'PC客户端授权:0:未授权;1:授权用户',
  `pc_authorize_ip` varchar(255) DEFAULT NULL COMMENT 'PC客户端授权IP,多个使用英文的逗号隔开',
  `pc_authorize_type` int(2) DEFAULT '0' COMMENT '0: 限制单个apk大小;1:限制单次上传总大小',
  `pc_authorize_so` int(2) DEFAULT '0' COMMENT '0: 么有使用so加密的权限;1:有使用so加密的权限',
  `pc_authorize_soname` varchar(1000) DEFAULT NULL COMMENT 'PC加密授权SO文件名',
  `pc_authorize_size` int(11) DEFAULT '0' COMMENT '限制单个文件或者单次总文件的大小:跟上面type同步使用;',
  `pc_authorize_endtime` datetime DEFAULT NULL COMMENT 'PC客户端授权结束时间',
  `user_limits` int(11) DEFAULT '0' COMMENT '用户限制类型(0:默认限制;1:定制限制) 限制用户上传加密信息',
  `lucky_num` int(11) DEFAULT '0' COMMENT '年终风暴期间抽奖次数',
  `sign_in` varchar(50) DEFAULT NULL COMMENT '签到',
  `draw_num` int(3) DEFAULT '0' COMMENT '抽奖次数',
  `safeguard` varchar(100) DEFAULT NULL COMMENT '加密保护项',
  `invite_num` int(3) DEFAULT '0' COMMENT '邀请人数',
  PRIMARY KEY (`nvcEmail`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 ROW_FORMAT=COMPACT;

userapp表:

CREATE TABLE `userapp` (
  `iUserAppID` int(11) NOT NULL AUTO_INCREMENT,
  `nvcAppName` varchar(100) NOT NULL,
  `nvcAppLogo` varchar(100) DEFAULT NULL,
  `nvcAppAlias` varchar(80) NOT NULL,
  `nvcAppVersion` varchar(50) DEFAULT NULL,
  `nvcAppSize` bigint(20) DEFAULT NULL,
  `dtCreationTime` datetime NOT NULL,
  `nvcDownloadURL` varchar(300) DEFAULT NULL COMMENT '开发者下载地址--不为空说明已经加密成功了',
  `nvcRemark` varchar(200) DEFAULT NULL,
  `bIsDeleted` int(11) DEFAULT '0' COMMENT '0:未删除;1:应用删除;2:渠道删除;3:应用和渠道都不显示',
  `iAppStatus` int(11) DEFAULT NULL COMMENT '加密状态:1:审核中;2:加密中;3:已完成;4:忽略(加密失败);5:待上传(客户端加密)',
  `nvcEmail` varchar(60) DEFAULT NULL,
  `file_md5` varchar(50) DEFAULT NULL COMMENT '文件的md5值',
  `nvcAPPMD5` varchar(50) DEFAULT NULL,
  `nvcSourceFileURL` varchar(300) NOT NULL COMMENT '后台的下载地址',
  `ischannel` int(11) DEFAULT '0' COMMENT '是否需要渠道检测(1:是;0:否)',
  `statue` int(11) DEFAULT '1' COMMENT '渠道检测的状态(1:处理中;2检测中)',
  `package_name` varchar(300) DEFAULT NULL COMMENT '包名',
  `issafe` int(11) DEFAULT '0' COMMENT 'app是否有被阻止的权限,是否安全(1:安全2:不安全,0安检中)',
  `error` varchar(400) DEFAULT NULL COMMENT '安检失败:被阻止的权限',
  `certificate` varchar(300) DEFAULT NULL COMMENT 'app的证书',
  `signUrl` varchar(150) DEFAULT NULL COMMENT 'app签名下载地址',
  `crawltypeid` bigint(20) DEFAULT '1' COMMENT '抓取条件的ID',
  `unpack_key` varchar(150) DEFAULT NULL COMMENT '保存用户打多个加密包的key',
  `isunpack` int(11) DEFAULT '0' COMMENT '是否选择高级打包:1:高级打包;0:普通打包',
  `leave_msg` varchar(255) DEFAULT NULL COMMENT '加密留言内容',
  `apk_cache_path` varchar(150) DEFAULT NULL COMMENT '待上传的apk地址',
  `encrypt_time` datetime DEFAULT NULL COMMENT '加密完成时间',
  `down_num` int(11) DEFAULT '0' COMMENT '加密包下载次数',
  `app_type` int(11) DEFAULT '0' COMMENT '应用类型:(
0:其他
1:手机游戏
2:手机银行
3:移动证券
4:移动保险
5:移动基金
6:移动电商
7:移动视频
8:单机游戏
9:海外市场
10:社交
)',
  `encrypt_content` varchar(200) DEFAULT NULL COMMENT '加密失败(忽略)理由',
  `isPhone` int(1) DEFAULT '1' COMMENT '0:手机 1:官网后台',
  `phoneAppStatus` int(1) DEFAULT '0' COMMENT '手机端加密状态 0 初始状态 1审核中 2审核成功 3审核失败 4生成中 5生成完成 6生成失败  7加密中 8加密成功 9加密失败',
  `jmlog_url` varchar(255) DEFAULT NULL COMMENT '自动加密日志下载地址',
  `encrypt_type` int(11) DEFAULT '1' COMMENT '加密方式:
1、AJShell.exe –t2 -s -c5 -f (普通版本加密)
2、AJShell.exe –t2 -a -s -c5 –f (支持x86版本加密)
3、AJShell.exe –t2 -s -c5 –f –b1 (普通版本加花(只加壳dex文件))
4、AJShell.exe –t2 -s -c5 –f –b2 (普通版本加花(只加用户dex文件))
5、AJShell.exe –t2 -s -c5 –f –b3(普通版本加花(对所有dex文件加花))
6、AJShell.exe –t2 -a -s -c5 –f –b1 (支持x86版本加花(只加壳dex文件))
7、AJShell.exe –t2 -a -s -c5 –f –b2 (支持x86版本加花(只加用户dex文件))
8、AJShell.exe –t2 -a -s -c5 –f –b3 (支持x86版本加花(对所有dex文件加花))
9、AJShell.exe –t2 -p -s –c0 –f (取消二次打包防护版本加密(MM版本))
10、AJShell.exe –t2 -a -p -s -c5 –f (支持X86取消二次打包防护版本加密(X86MM版本))
11、AJShell.exe –t2 -s -c5 –f(内存加强版本加密(游戏版本))
12、AJShell.exe –t2 -s -c5 –f –b1 (内存加强版本加花(游戏加花,只加壳dex文件))
13、AJShell.exe –t2 -s -c5 –f –b2 (内存加强版本加花(游戏加花,只加用户dex文件))
14、AJShell.exe –t2 -s -c5 –f –b3 (内存加强版本加花(游戏加花,对所有dex文件加花))',
  `batch_url` varchar(255) CHARACTER SET utf8 COLLATE utf8_unicode_ci DEFAULT NULL COMMENT '多渠道加密包批量下载地址',
  `star_flag` int(11) DEFAULT '0' COMMENT '应用之星:0:不显示;1:显示',
  `typeid` int(11) DEFAULT '1' COMMENT '应用的类型',
  `classid` int(11) DEFAULT '2' COMMENT '应用的分类',
  `labels` varchar(128) DEFAULT '1,2,3' COMMENT '应用的标签',
  `compareid` varchar(128) DEFAULT '84,86,88,10992' COMMENT '竞品应用的IUserAppID',
  `analysistime` datetime DEFAULT NULL,
  `groupname` varchar(128) DEFAULT NULL COMMENT '竞品分析组组名称',
  `compareappstatus` int(1) DEFAULT '0' COMMENT '竞品应用状态 0:申请 1:待审核 2:选择应用',
  `iscompet` int(11) DEFAULT '0',
  PRIMARY KEY (`iUserAppID`),
  KEY `FK__AppStatus_UserApp` (`iAppStatus`),
  KEY `FK__User_UserApp` (`nvcEmail`),
  KEY `package_name` (`package_name`),
  KEY `nvcAPPMD5` (`nvcAPPMD5`)
) ENGINE=MyISAM AUTO_INCREMENT=11219 DEFAULT CHARSET=utf8;

appname表:

CREATE TABLE `appname` (
  `nvcAppName` varchar(100) NOT NULL,
  `nvcEmail` varchar(80) NOT NULL,
  KEY `nvcAppName` (`nvcAppName`) USING BTREE,
  KEY `nvcEmail` (`nvcEmail`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

用MAX() 查询出最大的日期,然后进行表与表的关联,exists对sql的进行优化。

原文地址:https://www.cnblogs.com/phyxis/p/5301173.html