2017-04-03 59 views
0

我正在Cx_Oracle 11g數據庫上工作:我想知道是否可能在表中輸出兩種不同類型的order by。我的意思是,假設列nametimestampvalue,我需要輸出的樣子:Cx_Oracle - 如何指定具有雙輸出輸出的查詢

nameA - timestamp1 - value 
nameA - timestamp2 - value 
nameA - timestamp3 - value 
nameB - timestamp1 - value 
nameB - timestamp2 - value 
nameB - timestamp3 - value 

凡主要爲了是name,並timestamp是有序的每一個不同的name。我能怎麼做?

+3

在Cx_Oracle中'不按命名排序,timestamp'工作嗎?你會得到什麼錯誤? –

+0

@AlexPoole是的,它的工作原理。我不知道,謝謝。列名中出現的順序是否確定查詢的工作方式? – Caramelleamare

+1

它會按'name'排序,然後在'timestamp'內排序,這就是你想要的。是的,列出現在列表中的順序很重要。 –

回答

2

From the Oracle documentation

您可以在order_by_clause生成指定多個表達式。 Oracle數據庫首先根據第一個表達式的值對行進行排序。與第一個表達式的值相同的行,然後排序根據它們的值的第二個表達式,等等

你的情況

所以才這樣做的:

order by name, timestamp 
在查詢中會做什麼

你描述。