十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
myisam直接count然后limit取。innodb count记得用二级索引作为条件。count(*)from table where uid0 . 这样。不然不准还慢。
成都创新互联公司云计算的互联网服务提供商,拥有超过13年的服务器租用、德阳服务器托管、云服务器、雅安服务器托管、网站系统开发经验,已先后获得国家工业和信息化部颁发的互联网数据中心业务许可证。专业提供云主机、雅安服务器托管、域名注册、VPS主机、云服务器、香港云服务器、免备案服务器等。
应该是这样的::
select name,brand_id,concat(floor((sum(goods_num)/(select sum(goods_num) from tablename))*100),'%') as goods_num_rate
from tablename group by name;
select 12/23 * 100 ||'%' from dual;
mysql 服务器支持 # 到该行结束、-- 到该行结束 以及 /* 行中间或多个行 */ 的注释方格:
mysql SELECT 1+1; # 这个注释直到该行结束
mysql SELECT 1+1; -- 这个注释直到该行结束
mysql SELECT 1 /* 这是一个在行中间的注释 */ + 1;
mysql SELECT 1+
/*
这是一个
多行注释的形式
*/
1;
注意 -- (双长划) 注释风格要求在两个长划后至少有一个空格!
尽管服务器理解刚才描述的注释句法,但 MySQL 客户端的语法分析在 /* ... */ 注释方式上还有所限止:
单引号和双引号被用来标志一个被引用字符串的开始,即使是在一个注释中。如果注释中的引号没有另一个引号与之配对,那和语法分析程序就不会认为注释结束。如果你以交互式运行 mysql,你会产生困惑,因为提示符从 mysql 变为 ' 或 "。
一个分号被用于指出当前 SQL 语句的结束并且跟随它的任何东西表示下一行的开始。
不论你是以交互式运行 mysql 还是将命令放在一个文件中,然后以 mysql some-file 告诉 mysql 读取它的输入,这个限制均存在。