根据列值获取mysql表中的前x个值
我有以下表格数据:根据列值获取mysql表中的前x个值,mysql,Mysql,我有以下表格数据: content,count 'a', '1' 'b', '2' 'c', '2' 'd', '2' 'content_name', '18' 'de', '2' 'dea', '2' 'deaasdfdsaf', '5' 'content_name', '17' 我希望有一个正确的查询来获取x(例如4)行的内容列中的最大值 我已经尝试了以下给出的答案: 但它没有像我预期的那样起作用 它一直只按表位置给我行 有什么建议吗 create table Test(content v
content,count
'a', '1'
'b', '2'
'c', '2'
'd', '2'
'content_name', '18'
'de', '2'
'dea', '2'
'deaasdfdsaf', '5'
'content_name', '17'
我希望有一个正确的查询来获取x(例如4)行的内容列中的最大值
我已经尝试了以下给出的答案:
但它没有像我预期的那样起作用
它一直只按表位置给我行
有什么建议吗
create table Test(content varchar(100),count integer );
insert into Test(content, count) values("a", 1);
insert into Test(content, count) values("b", 2);
insert into Test(content, count) values("c", 2);
insert into Test(content, count) values("d", 2);
insert into Test(content, count) values("content_name", 18);
insert into Test(content, count) values("de", 2);
insert into Test(content, count) values("dea", 2);
insert into Test(content, count) values("deaasdfdsaf", 5);
insert into Test(content, count) values("content_name", 7);
select * from Test
order by count desc
limit 4;
但是,我不太清楚您所说的“内容栏中的最大值”是什么意思,因此我按照它们的计数值进行排名。如果您实际上是在查找内容栏中的字符数,这是我阅读您的问题的最初印象: 使用Martin Stagl的帖子创建示例表
select *, LENGTH(REPLACE(content, 'N', '')) as char_length from Test;
注意:如果这在服务器上不起作用,请尝试用LEN()替换LENGTH()函数
FIDLE:定义“最大”
按“计数”描述限制4从表顺序中选择*
?