Php 如何按列名称排序,计算字符串数
我有一个列名,它有多个id号,以逗号分隔。我想按字符串的数目来订购Php 如何按列名称排序,计算字符串数,php,mysql,Php,Mysql,我有一个列名,它有多个id号,以逗号分隔。我想按字符串的数目来订购 The Database is like this: ========================= id | user_ids ====|========== 1 | 23,345 ----|------------- 2 | 3247345 ----|------------ 3 | 2,34,1,54 ----|------------ 4 | 222,5,56 I need Output lik
The Database is like this:
=========================
id | user_ids
====|==========
1 | 23,345
----|-------------
2 | 3247345
----|------------
3 | 2,34,1,54
----|------------
4 | 222,5,56
I need Output like this:
=======================
id | user_ids
====|==========
2 | 3247345
----|-------------
1 | 23,345
----|------------
4 | 222,5,56
----|------------
3 | 2,34,1,54
您可以使用如下查询,按特定字段中的逗号数对结果进行排序:
select * from table order by length(user_ids)-length(replace(user_ids, ",", ""))) asc
查询的order by片段将计算字段中的所有字符,然后减去所有不计算逗号的字符。这就给您留下了逗号的数量。您可以使用如下查询按特定字段中的逗号数量对结果排序:
select * from table order by length(user_ids)-length(replace(user_ids, ",", ""))) asc
查询的order by片段将计算字段中的所有字符,然后减去所有不计算逗号的字符。这就给您留下了逗号的数目。您必须这样做
ORDER BY (LEN(col) - LEN(REPLACE(col,',',''))))
你必须这样做
ORDER BY (LEN(col) - LEN(REPLACE(col,',',''))))
事实上,您的表设计违反了规范化规则,您应该考虑重新设计。实际上,您的表设计违反了规范化规则,您应该考虑重新设计。