2011-05-19 37 views
2

這部分額外行是我的查詢:如何選擇所有行(*),再加上我的選擇

SELECT *, `online_since`-NOW() as 'uptime' FROM map_eline_dots 

我希望它選擇map_eline_dots包含所有列加上一個額外的字段「正常運行時間」的

online_since - NOW() 

但是我得到了相同的結果,現在我從

SELECT * FROM map_eline_dots 

做我在做什麼結果錯誤?我是否需要手動選擇其他30列中的每一列?

+0

也許你必須使用brakets和踢所有這些''的東西:SELECT *,(online_since - NOW())as uptime FROM map_eline_dots – strauberry 2011-05-19 13:35:49

+0

因此online_since是map_eline_dots中的列嗎?如果是這樣,它是一個日期時間列? – 2011-05-19 13:58:20

回答

7

像這樣:

SELECT map_eline_dots.*, online_since - NOW() as uptime FROM map_eline_dots 

還是這個樣子。

SELECT m.*, online_since - NOW() as uptime FROM map_eline_dots AS m 

如果您選擇的不僅僅是星號,您必須限定星號。 (我刪除反引號和報價,以提高可讀性)

+0

怎麼了反引號和引號?這是否甚至工作?我會使用'SELECT m。*,online_since - NOW()as uptime FROM map_eline_dots AS m' – Johan 2011-05-19 13:40:23

+0

我從在MySQL中使用OP.Backticks來逃避數據庫/表/列文字,但它也適用於引號,我將它從我的答案中刪除,以便更清楚地知道 – 2011-05-19 13:44:02

+0

我只是想知道'正常運行時間'部分我知道反引號(即使它們的醜陋使我的頭受傷),但我想知道單引號別名是否會起作用*(和​​我現在沒有MySQL來測試它)*。 – Johan 2011-05-19 14:24:23