2013-04-11 126 views
0

我有一個表像這樣的MySQL,MySQL中的文本stroed爲「文本」和數字存儲爲「INT」我怎麼能在一列

+----+-----------------------------------+---------+ 
| date |    text    | number | 
+------+---------------------------------+---------+ 
| 12.1 | hello!       | 10  | 
| 12.1 | hello every one!    | 15  | 
| 12.1 | hello every one! welcome here! | 20  | 
+------+---------------------------------+---------+ 
選擇具有較長的文本行

文字越長,數字越大 那我該如何選擇文字最長的行「你好,每一個!歡迎來到這裏!」 現在我有這樣的代碼: 選擇 日期,MAX(文本),MAX(數字) GROUP BY 日期 但沒有奏效 那麼我該怎麼辦?

+0

您確定可以用這種格式存儲日期嗎? – Satya 2013-04-11 00:43:44

+0

是數字=長度(文本)? – SoEnLion 2013-04-11 00:48:19

+0

不,數字長度不等(文字) – laiqn 2013-04-11 00:50:42

回答

2
SELECT date, text, number from table order by length(text) desc, number LIMIT 1 
+0

我怎麼回聲我選擇的行,我試過echo $ row ['MAX (length(text))']但是它返回了文本長度的數量,比如100,我想回顯文字 – laiqn 2013-04-11 00:48:13

+0

啊,你實際上並不想要文本的長度。我更新了答案,應該選擇文字最長的那一行。另外,我只是把'table'放在查詢中,因爲我沒有看到你的實際表名是什麼。 – clav 2013-04-11 00:54:02

+0

我在我的SELECT中已經有了一個ORDER句子,按ID排序,我該如何寫兩個句子ORDER – laiqn 2013-04-11 01:10:06