1、查询数据库表数据,根据指定条件筛选出满足条件的数据,此例返回满足条件的两条数据。
2、关键字查询,使用AND搜索栏输入符合条件的数据。
条件在变量$a、$v中,组织查询语句$sql,查询的结果再输出即可,例子代码关键部分:
<?php$a=$_GET['attr'] || 'a'
$v=$_GET['value'] || '你'
if(mysql_connect('127.0.0.1','root','123456')){
$sql="SELECT id FROM `tab` WHERE `attr`='$a' AND `value`='$v'"
if ($res=mysql_query($sql)){
$row=[]
while(list($id)=mysql_fetch_array($res)) $row[]=$id
mysql_free_result($res)
mysql_close()
echo '查询结果:'. implode($row,'<br>')
}else echo "执行SQL:$sql<br>失败:".mysql_error()
}else echo 'MYSQL连接失败:".mysql_error()
?>
/*语法:select 分组函数 列(要求出现在group by的后面)
from 表
【where 筛选条件】
group by 分组的列表
[order by 子句]
注意:查询列表必须特殊,要求是分组函数和group by 后出现的字段
特点:
1.分组查询中筛选条件分为两类:
数据源 位置 关键字
分组前筛选 原始表 group by子句的前面 where
分组后筛选 分组后的结果集 group by子句的后面 having
1.分组函数做条件肯定是放在having子句中
2.能用分组前筛选的,优先考虑使用分组前筛选
2.group by 子句支持单个字段、多个字段分组(用逗号隔开没有顺序要求)表达式或函数(用的较少)
3.也可以添加排序(放在整个group by子句之后)
*/
count(1),其实就是计算一共有多少符合条件的行。
1并不是表示第一个字段,而是表示一个固定值。
其实就可以想成表中有这么一个字段,这个字段就是固定值1,count(1),就是计算一共有多少个1.
同理,count(2),也可以,得到的值完全一样,count('x'),count('y')都是可以的。一样的理解方式。在你这个语句理都可以使用,返回的值完全是一样的。就是计数。
count(*),执行时会把星号翻译成字段的具体名字,效果也是一样的,不过多了一个翻译的动作,比固定值的方式效率稍微低一些。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)