2012-10-12 25 views
1

我试图从select列表中的某个列中存在的逗号数来排序结果。按位数排序的命令

是有办法完全由在MySQL逗号订购。

+0

你能更具体吗?你的数据库在单个列中有逗号分隔的值吗? –

+0

我已经区号在这此一列,我想逗号隔开来算逗号,因为这将清楚地确定项目,每个 –

+0

的数量,我认为这是来不及重组数据库进行标准化? –

回答

2

你可以用类似下面的查询命令你的结果用逗号的数量在一个特定领域:

select * from table order by length(areaCodeField)-length(replace(areaCodeField, ",", ""))) desc 

为了通过件查询会计算所有的字符在该领域然后减去所有不包括逗号的字符。这给你留下了多少个逗号。

0

你可以使用一个简单的解决方法(可能不是很有效):

ORDER BY 
    LENGTH(column) - LENGTH(REPLACE(column, ',', '')) asc 

我不知道其他的解决方案是否存在,对不起。

MRu。