尝试创建带有提示的标记云 https://www.quora.com/What-is-the-easiest-way-to-create-a-tag-cloud-from-a-MySQL-column
我正在数据库中创建一个新表。 数据库有一个名为'tracks'的表 表中包含名为“tag”的列 “标记”字段填充有逗号分隔的标记,即tag01,tag02,tag03等
我正在尝试创建一个新表
我已经运行了以下
CREATE TABLE counter (
id int unsigned NOT NULL AUTO_INCREMENT,
primary key (id)
);
----
delimiter //
CREATE PROCEDURE populate_counter()
BEGIN
SET @i = 0;
SET @n = (select max(LENGTH(tag) - LENGTH(REPLACE(tag, ' ', ''))+1) from tracks);
WHILE @i<@n DO
INSERT INTO counter (id) VALUES (NULL);
SET @i = @i + 1;
END WHILE;
END
//
delimiter ;
----
那部分似乎已经好了。然后我尝试运行程序
call populate_counter()
----
select
word,
count(*) as freq
from (
select
case
when id <= LENGTH(tag) - LENGTH(REPLACE(tag, ' ', ''))+1 then SUBSTRING_INDEX(SUBSTRING_INDEX(tag, ' ', id), ' ', -1)
else ''
end as word
from tracks, counter
) t
where
0 < LENGTH(word)
group by word
我明白了:
MySQL#1052 - 字段列表中的列'id'不明确。
不确定如何从那里继续。
欢迎任何建议!
Apache / 2.4.10(Debian) 数据库客户端版本:libmysql - 5.5.57 PHP扩展:mysqli
由于