mysql 按相似度排序_mysql 按相似度来排序

创建了一个名为testsort的表,插入了包含多个名字的数据。通过计算逗号数量来确定每个条目中名字的数量,从而衡量相似度。使用CHAR_LENGTH()函数处理多字节字符的情况。
摘要由CSDN通过智能技术生成

----------------建表

mysql> create table testsort (tag varchar(100) charset "GBK");

Query OK, 0 rows affected (0.51 sec)

```sql

mysql> describe testsort

-> ;

+-------+--------------+------+-----+---------+-------+

| Field | Type | Null | Key | Default | Extra |

+-------+--------------+------+-----+---------+-------+

| tag | varchar(100) | YES | | NULL | |

+-------+--------------+------+-----+---------+-------+

1 row in set (0.07 sec)

----------------插入数据

```sql

mysql> insert into testsort(id,tag) values(1,"刘世允"),

-> (2,"郑胜浩"),

-> (3,"申东烨"),

-> (4,"申东烨,郑胜浩,刘世允,安英美"),

-> (5,"郑胜浩,刘世允,安英美"),

-> (6,"申东烨,郑胜浩"),

-> (7,"刘世允,安英美");

Query OK, 7 rows affected (0.07 sec)

Records: 7 Duplicates: 0 Warnings: 0

----------------方法

mysql> select id,

-> tag,

-> char_length(tag)-char_length(replace(tag,',',''))+1 as cnt

-> from testsort;

+------+-----------------------------------------+------+

| id | tag | cnt |

+------+-----------------------------------------+------+

| 1 | 刘世允 | 1 |

| 2 | 郑胜浩 | 1 |

| 3 | 申东烨 | 1 |

| 4 | 申东烨,郑胜浩,刘世允,安英美 | 4 |

| 5 | 郑胜浩,刘世允,安英美 | 3 |

| 6 | 申东烨,郑胜浩 | 2 |

| 7 | 刘世允,安英美 | 2 |

+------+-----------------------------------------+------+

7 rows in set (0.00 sec)

----------------另外注意

Responses below will get you there. However, don't forget to use CHAR_LENGTH() instead of LENGTH() if you're using multibyte characters. – inhan Sep 10 '12 at 3:03

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值