最近经常看到有人在群里问如何查询某一行某一列的xx的数量,基本都是建表时候,把id都放到这个字段中,而对应的解决方法无非就是:
1. 查出来,用后台语言解决
2. 写个存储过程,使用mysql提供的截取等函数来处理
3. 修改表结构,新增一个关联表,自己关联查询再count
说了解决方法,可有没有不用后台语言,也不改表,也不存储过程,一个简单sql查询来的呢?
其实可以换种思维: 例如 数据是这样的
id web_id
1 1,2,3,..99
我要查询web_id的数量就是 , 逗号的数量。
对应查询语句可以这样写 : SELECT LENGTH( `web_id`) - LENGTH(REPLACE( `web_id`,',','' )) AS num FROM table