SQL两个表联合查询记录中怎么取最大值?

 我来答
qyq592140
2018-04-05 · TA获得超过9811个赞
知道小有建树答主
回答量:106
采纳率:100%
帮助的人:3万
展开全部

1、在打开的ie浏览器窗口右上方点击齿轮图标,选择“Internet选项”,如下图所示:

2、在打开的Internet选项窗口中,切换到安全栏,在安全选卡中点击“自定义级别”,如下图所示:

3、在“安全设置-Internet 区域”界面找到“Java 小程序脚本”、“活动脚本”,并将这两个选项都选择为“禁用”,然后点击确定,如下图所示:

wjgchx
2018-02-17 · TA获得超过239个赞
知道小有建树答主
回答量:143
采纳率:0%
帮助的人:144万
展开全部
你首先要弄明白自己需要的数据应该具备哪些条件:
1. 按照Item_ID分组。
2. 取每组中OnDate中最大的记录,实际上就是取最新的数据。
3. 数据过滤条件是 MZZYH='5'
第一步:select max(OnDate)as date, ITEM_ID from PatientResult where MZZYH='5' group by ITEM_ID
上面的语句得到的记录集为按照ITEM_ID分组,获得每个分组的最新日期。
第二步,分析目前的三个记录集:
a)包含有 ITEM_ID , max(OnDate)的主记录,由第一步的查询结果得到,它的记录条数就是最后结果的记录条数。
b) 需要在结果中输出的 与主记录对应的PatientResult 原始表记录的内容。
c)与ITEM_ID对应的名字信息ItemInfo ,
其中记录集a为主记录,a与b之间的对应关系为a. ITEM_ID = b. ITEM_ID and a.date = b.OnDate
其中a与c的关系为 a.ITEM_ID = c. ITEM_ID
select b.*, c.* from (select max(OnDate)as date, ITEM_ID from PatientResult where MZZYH='5' group by ITEM_ID) as a, PatientResult as b, ItemInfo as c where a.ITEM_ID=b.ITEM_ID and a.date = b.OnDate and a.ITEM_ID=c.ITEM_ID
其实对于复杂的查询,最好采用临时表和存储过程,使查询变得非常简单明了,便于维护
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式