Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/64.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
根据列值获取mysql表中的前x个值_Mysql - Fatal编程技术网

根据列值获取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从表顺序中选择*