我的資料庫是Oracle
這是我的陳述句:
select pe_id,max(pe_visit_id),pe_dept_code,content_class,content
from PE_DEPT_RESULT_ITEMS
where pe_id in(select pe_id from pe_visit
where unit_code='10112'
and PE_PRE_DATE>to_date('2009-1-1','yyyy-mm-dd') and result_status = '9'
and unit_visit_id='4')
group by pe_id,pe_dept_code,content_class,content;
執行結果pe_visit_id不是最大值,是哪次內容都有
uj5u.com熱心網友回復:
Orace 不知道, SQL Server 有:select isnull(max(pe_visit_id),0) as maxid from PE_DEPT_RESULT_ITEMS
uj5u.com熱心網友回復:
條件有問題吧!先把where去掉看看uj5u.com熱心網友回復:
一、執行結果pe_visit_id不是最大值,是哪次內容都有
這句話沒看明白,是哪次內容都有是什么意思?
二、如果沒有得到你想要的值,估計是Group的列或where的問題~~
uj5u.com熱心網友回復:
換成一下陳述句看看:select pe_id,max(pe_visit_id),pe_dept_code,content_class,content
from PE_DEPT_RESULT_ITEMS
group by pe_id,pe_dept_code,content_class,content
having pe_id in(select pe_id from pe_visit
where unit_code='10112'
and PE_PRE_DATE>to_date('2009-1-1','yyyy-mm-dd') and result_status = '9'
and unit_visit_id='4')
and Not (pe_visit_id isnull)
uj5u.com熱心網友回復:
猜測啊 :1. 你對SQL理解不對 ,我猜 pe_id 是個主鍵之類的東西把
2. max 的用法 ,你的sql意思是 按照 pe_id,pe_dept_code,content_class,content 分組 ,然后求每個組的最大值 ,你看看 你是不是 可以分出太多的組啊
uj5u.com熱心網友回復:
該列是否允許為空了,該列的某一行為null 時,就不會再計算max了轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/89231.html
標籤:數據庫相關
