$result = mysql_query("SELECT * FROM local_email where ruid=".$uid." order by isr,id desc limit ".$nowrow.",".$pagerows);
$result = mysql_query("SELECT * FROM local_email order by isr,id desc limit ".$nowrow.",".$pagerows."");
isr标示未读
id主键
谁排在前就先按照谁排序
上面就是先显示没有读的消息,再按照id降序排序
smarty foreach获取循环次数
{$smarty.foreach.foo.index}或{$smarty.foreach.foo.iteration}
{$smarty.foreach.foo.index}从0开始
{$smarty.foreach.foo.iteration}从1开始
sqlserver的int不能指定长度,不能这么写int(3)
rowsdt=new Vector();//第二行的行数据集合,必须再次初始化创建新的集合对象存放新的数据
use BBB;
--工资大于员工SMITH的所有人
--select * from emp where sal>(select sal from emp where ename='SMITH');
--列出员工姓名和员工上级的姓名
--select e1.ename,e2.ename 上级 from emp e1,emp e2 where e1.mgr=e2.empno;
--列出员工入职日期晚于其上级的员
--列出部门详细信息和人数
--分析:先统计出各部门人数作为一个临时表
select count(*) c,deptno from emp group by deptno;
select d.deptno,d.dname,d.loc,isnull(e.c,0) 部门人数 from dept d left join (select count(*) c,deptno from emp group
--列出所有部门员工平均工作年限
select avg(datediff(year,hiredate,getdate())) 平均工作多久,deptno from emp group by deptno;
getdate()函数获取当前时间,函数后面有括号不要忘记。
select * from emp right join dept on dept.deptno=emp.deptno
多表查询首先要分清谁作主表(抛出条件的表),谁作从表(接收条件返回结果给主表的表)。
这里明细就是以前的思路,从部门表dept抛出个条件到emp表返回信息。
select count(*) from emp group by deptno having count(*)>2;
注意:使用group就不能使用where一定要用having。
这里不能条件不能使用别名,不能这样写:
select count(*) as c from emp group by deptno having c>0;