2010-02-26 48 views
3

的编号顺序我有一个最简单的SQLMySQL的 - 由字符

SELECT * FROM words 

它有13000个字(VARCHAR)。我需要在输出中获得最长的单词。我猜可能用WHERE命令呢?

替代

如果它不喜欢的工作,有没有排序我输出数组则其将被上最长的单词第一个(在“word'列)责令其一个聪明的办法。它看起来像这样(在输出循环中)?

$output_array[$row['word']] = $row['another_word']; 

回答

6

订购其长度的话应该这样做:

SELECT * 
FROM words 
ORDER BY LENGTH(word) DESC 
+0

会的工作,即使VARCHAR被填充到一个给定的长度是多少? – 2010-02-26 17:43:34

+0

@Adrian Schmidt:你填补什么意思? – Gumbo 2010-02-26 17:44:30

+0

@Adrian Schmidt:CHAR是填充的,VARCHAR不是。 – Powerlord 2010-02-26 17:51:01

0
select * from words order by len(my_field) desc;