作者MugenPower (无限MUGEN)
看板Database
标题Re: [SQL ] mysql下查询後,回传资料排序的问题
时间Fri Jun 1 12:29:22 2007
※ 引述《Jnaive (风车 郁金香)》之铭言:
: 请问一下各位板友。
: 假设我有两个table ( T1和T2)要做natural join,
: 两个table都有个timestamp的栏位叫time,
: 在join完後的排序,若用order by的话只能对其中一个栏位来排序,
: 或是"order by T1.time,T2.time"先用其中之一,相同再用另一个。
: 能不能有排序的方式是以T1.time和T2.time之中时间比较小的为准来排序?
: order by能办到吗?
: 我有查过mysql的手册,
: order by的语法定义是这样,ORDER BY {col_name | expr | position}
: 感觉expr似乎可以,但不知道语法怎麽用?另外,posistion又是什麽?
: 手册上也没写。
: 先谢谢各位罗!
ORDER BY {col_name | expr | position}
这句是说 ORDER BY 後面可以用 COL_NAME 或 EXPR 或POSITION
翻白话 ...
Order by可以用 Column Name 来进行
如 Order by Studfent_name, Time_1
或是
以变数结果排序 EXPR
如 Order BY column_1 + column_2 , time_1 + 3
order by least( column1, column2)
或是
以位置表式 POSITION
如 SELECT COLUMN_1 , COLUMN_2 , COLUMN_3
FROM TABLE_1
ORDER BY COLUMN_1 , COLUMN_2 , COLUMN_3
也可以写成
SELECT COLUMN_1 , COLUMN_2 , COLUMN_3
FROM TABLE_1
ORDER BY 1,2,3
用在句子很长的时候
至於原来的问题
应该可以用 expr 来解决
expr 只要是内建或是self-define的 function应该都可以用
Oracle 有 LEAST (exprs) MySql 我不知道 @.@
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 202.145.230.2