如何解決這個問題,在SQL Server檢查基於SQL Server中列條件
Table: emp
Pid | Address | City | datetime | Edate | level
1 | Homeless | Chen | 2014-11-13 09:32:14.000 |2013-02-10 |3
1 | 3913 W. Strong | Chen | 2011-03-044 19:04:10.000 |2014-02-04 |7
1 | 1100 W MALLON | Chen | 2014-11-13 09:32:14.000 |2013-02-10 |5
2 | 610 W GARLAND #3 | Hyd | 2013-11-13 09:32:14.000 |2014-04-02 |4
3 | banvanu | chen | 2015-03-044 06:04:10.000 |2015-05-06 |6
3 | naneku | chen | 2015-03-044 06:04:10.000 |2015-06-09 |4
基於上面的表格我想輸出類似下面
Pid | Address | City | datetime | Edate | level
1 | 1100 W MALLON | Chen | 2014-11-13 09:32:14.000 |2013-02-10 |5
2 | 610 W GARLAND #3 | Hyd | 2013-11-13 09:32:14.000 |2014-04-02 |4
3 | naneku | chen | 2015-03-044 06:04:10.000 |2015-06-09 |4
我們需要從獲取地址,城市基於以下條件的同一表
我們得到輸出的條件很少:第一級根據pid檢查max(datetime)如果max(datetime)的值對於相同的pid相同,則相同的pid需要檢查max(edat E)如果我們再相同值,那麼我們需要檢查最大(級)particilar患者檢索地址,城市對於PID
我試着像下面
select * from (select *,row_number()over(partition by id ,order by datetime,edate,level)as rno
from emp)
where rno=1
,但上面的查詢沒有給出預期導致 請告訴我如何寫查詢才達到在SQL Server這個任務
如果您想要最大日期時間,最大edate和最大級別,它應該不是按降序排序 - 「ROW_NUMBER()OVER(分區由PID日期時間DESC,eDate DESC,級別DESC)' – GarethD
當您爲問題添加標籤時,請不要爲每個版本使用標籤。只需使用通用的sql-server,如果適用,則可以使用特定版本的標籤。 – jpw