php不懂,
成都创新互联是一家专业提供康乐企业网站建设,专注与网站设计、网站制作、HTML5建站、小程序制作等业务。10年已为康乐众多企业、政府机构等服务。创新互联专业网站制作公司优惠进行中。
SQL 写给你
SELECT user, SUM(shul) shul FROM h_user GROUP by user
$tab=100; 每个显示多少
$total=一共多少。(select cout(*) from xx);就可以
$page=ceil($total/$tab)需要几页,比如一共10个,每页3个就是10/3=3.....1,所以ceil向上取整10/3=4页
$nowPage=0;
然后select * from xx limit $nowPage*$tab,$tab;就可以取出相应的了
第一个 就是0,0*100然后取100条,就是1-100;
然后1*100,再取100条,就是 101-200;
SELECT GROUP_CONCAT(content) as content,id FROM ss GROUP BY id;
这是逗号分割。
php使用的数据库一般是mysql,当数据量大于1000万时,为了效率最好还会进行分表存储。
这要看你应用在什么场合了,如果只是单纯的数据处理,不需要取出来使用的话,可以直接在数据库里操作,比如建十张表,根据特征把1000万条数据插入到不同的表里。如insert into table_1 select * from table。
如果要取出来使用的话,建议写执行脚本,在数据库空闲时(如零点之后)执行该脚本,将处理的结果保存在另外一张表里,再从这张表里获取想要的结果。
PHP根据数组的值分组,php array中没有自带这个函数但是很常用
代码:
$_array = array(
array(1,11,'2016-05-18'),
array(2,11,'2016-05-18'),
array(3,22,'2016-05-18'),
array(4,22,'2016-05-18'),
array(5,33,'2016-05-19'),
array(6,33,'2016-05-19'),
array(7,44,'2016-05-19'),
array(8,44,'2016-05-19'),
array(9,55,'2016-05-20'),
array(10,55,'2016-05-20'),
);
var_dump(array_val_chunk($_array));
function array_val_chunk($array){
$result = array();
foreach ($array as $key = $value) {
$result[$value[1].$value[2]][] = $value;
}
$ret = array();
//这里把简直转成了数字的,方便同意处理
foreach ($result as $key = $value) {
array_push($ret, $value);
}
return $ret;
}
运行结果如下:
array(5) {
[0]=
array(2) {
[0]=
array(3) {
[0]=
int(1)
[1]=
int(11)
[2]=
string(10) "2016-05-18"
}
[1]=
array(3) {
[0]=
int(2)
[1]=
int(11)
[2]=
string(10) "2016-05-18"
}
}
[1]=
array(2) {
[0]=
array(3) {
[0]=
int(3)
[1]=
int(22)
[2]=
string(10) "2016-05-18"
}
[1]=
array(3) {
[0]=
int(4)
[1]=
int(22)
[2]=
string(10) "2016-05-18"
}
}
[2]=
array(2) {
[0]=
array(3) {
[0]=
int(5)
[1]=
int(33)
[2]=
string(10) "2016-05-19"
}
[1]=
array(3) {
[0]=
int(6)
[1]=
int(33)
[2]=
string(10) "2016-05-19"
}
}
[3]=
array(2) {
[0]=
array(3) {
[0]=
int(7)
[1]=
int(44)
[2]=
string(10) "2016-05-19"
}
[1]=
array(3) {
[0]=
int(8)
[1]=
int(44)
[2]=
string(10) "2016-05-19"
}
}
[4]=
array(2) {
[0]=
array(3) {
[0]=
int(9)
[1]=
int(55)
[2]=
string(10) "2016-05-20"
}
[1]=
array(3) {
[0]=
int(10)
[1]=
int(55)
[2]=
string(10) "2016-05-20"
}
}
}
M("Table')-group("date")-select();
如果你每一行数据都要显示,就应该用order:
M("Table")-order("date")-select();