2017-04-03 26 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 
在查询中会做什么

你描述。