aaa表,有字段id,bbb和ccc,现在想查询bbb字段第一个内容的长度,应该怎么写
id bbb ccc
1 111 222
2 333 444
select length(bbb)from aaa limit 1
这么写对吗?
不对。因为没有排序的情况下,limit 1,并不能保证取的是第一条记录。
步骤如下:
1、创建测试表;
create table test_aaa(id int, bbb int , ccc int);
2、插入测试数据;
insert into test_aaa values(1, 111, 222);
insert into test_aaa values(3, 333, 444);
insert into test_aaa values(2, 555, 666);
3、查询表中数据;可以看下id并没有排序;
select * from test_aaa;
4、重新排序后,再取第一条记录;并去bbb字段的长度;
select id, length(bbb) lb
from (select * from test_aaa order by id) t
limit 1;