在一组mysql cloumn中是否还有计算值的方法
我怎样才能得到一个表中指定的值的数目 mysql中有内置函数吗?这个答案:在一组mysql cloumn中是否还有计算值的方法,mysql,sql,Mysql,Sql,我怎样才能得到一个表中指定的值的数目 mysql中有内置函数吗?这个答案: SELECT id, LENGTH(colname) - LENGTH(REPLACE(colname, ',', '')) + 1 AS set_count FROM YourTable 假设您没有像“123123”这样的值(注意末尾的逗号),这应该可以: SELECT LENGTH(yourColumn) - LENGTH(REPLACE(yourColumn, ',', '')) + 1 AS numberO
SELECT id, LENGTH(colname) - LENGTH(REPLACE(colname, ',', '')) + 1 AS set_count
FROM YourTable
假设您没有像“123123”这样的值(注意末尾的逗号),这应该可以:
SELECT
LENGTH(yourColumn) - LENGTH(REPLACE(yourColumn, ',', '')) + 1 AS numberOfItemsInRow
FROM yourTable;
请在此处查找更多信息
但最好是规范化数据库
从MyTable中选择COUNT(*),其中有一些条件
?我没有胶水,图片显示的是什么。“SET”是什么意思?我想他指的是字符串中逗号分隔的元素数。@Barmar是的。很抱歉英语不好。如果你能编辑这个问题的话?除了它是一个SET
数据类型,而不是CHAR
或VARCHAR
。为什么你认为它目前没有规范化?如果您指出违反了什么特定的3NF要求,这将特别好。谢谢。我复制并粘贴了提供的答案,但是,您有一个具有多个值的列-您可以使用多对一关系连接另一个表。您确定您了解集合
类型的目的吗?@zerkms它不是集合,这是一个文本字段,有一堆逗号分隔的值。这很奇怪,因为OP声明它是一个集合
,甚至在文档中提供了一个指向相应类型的链接