2012-02-29 87 views
0

如何將以下TSQL語句轉換爲HSQL。將TSQL轉換爲HSQL

SELECT * 
    FROM (SELECT d.*, 
       DENSE_RANK() OVER (PARTITION BY C1 ORDER BY Year desc) AS dr 
      FROM table_1 d) dd 
WHERE dr = 1 
+0

到目前爲止,你已經嘗試......什麼? – 2012-02-29 05:19:25

+0

我不認爲你可以在HQL中進行分隔查詢。你爲什麼不嘗試將其轉換爲數據庫視圖,然後使用HQL從中進行選擇。 – 2012-02-29 05:34:49

+0

爲什麼你要寫** HQL **?由於** DENSE_RANK()**是一個特定於oracle的函數,因此將其寫入** HQL **中沒有太大意義。您最好在** createSQLQuery()**方法中使用** SQL **。 – ManuPK 2012-02-29 05:43:04

回答

1

從TABLE_1 T1選擇T1其中t1.year =(選擇TABLE_1最大(年),其中T1.C1 = C1)