6661857880810106699是什么号码码

查询数据库字段中最大最小值的SQL语句 简明现代魔法
专注于互联网主流的各种技术
-& 查询数据库字段中最大最小值的SQL语句
查询数据库字段中最大最小值的SQL语句
求数据库字段最值
SQL语句如下:
select 字段 from 表
where 字段 = ( select max(字段) from 表)
SQL语句如下:
select 字段 from 表
where 字段 = ( select min(字段) from 表)
//连接数据库
$myconn=mysql_connect("localhost","root","");
mysql_select_db("nowamagic",$myconn);
select article_ID
from article
where article_ID=(select max(article_ID)
from article)
$strSql2="
select article_ID
from article
where article_ID=(select min(article_ID)
from article)
$result=mysql_query($strSql,$myconn) or die(mysql_error());
$result2=mysql_query($strSql2,$myconn) or die(mysql_error());
$row_max=mysql_fetch_array($result);
$row_min=mysql_fetch_array($result2);
// 输出ID最大值
//echo $row_max["article_ID"];
//echo "";
// 输出ID最小值
//echo $row_min["article_ID"];
$article_count = $row_max["article_ID"] - $row_min["article_ID"];
从数据库字段中查询出最大值,赋给$row_然后再查询出最小值,赋给$row_min;然后用最大值减去最小值再加1,就可以得出数据库记录的条数。这里从文章数据库article得出的是文章的数目。
若是单纯地求数据库的记录总数的话,其实用一条SQL语句就可以搞定的。
$conn=mysql_connect("localhost","root","") or die("数据库连接错误".mysql_error());
mysql_select_db("nowamagic",$conn) or die("数据库访问错误".mysql_error());
mysql_query("set names utf-8");
$query="select count(*) as total from article order by article_ID desc";
$result=mysql_query($query);
$message_count=mysql_result($result,0,"total");
echo $message_
运行结果如下:
随机文章推荐
(44) (105) (232) (53) (34) (314) (39) (35) (21) (4) (1) (9) (14) (56) (66) (1) (160) (27) (57) (31) (77) (31) (12) (7) (18) (61)
注:如需转载本文,请注明出处(原文链接),谢谢。更多精彩内容,请进入首页。
你也许还会对以下文章感兴趣
喜欢本文,就分享它吧
您的名字:
您的邮件:
您的网站:
copyright (C) 2009 简明现代魔法 && 学习、分享、进步
power by Gonn 感谢所有关心和支持本站的朋友们& mysql 分组后获取其中一个字段最大值的整条记录
mysql 分组后获取其中一个字段最大值的整条记录
mysql 分组后获取其中一个字段最大值的整条记录,一般不注意,还没办法解决。
Mysql的语句:
FROM (SELECT * FROM testTable ORDER BY createDate desc) pcc
GROUP BY name
Mysql中在分组前先排好序就可以找到需要的记录了,返回的就是按照name分组后不重复的符合条件的第一条记录。
在sqlserver中有很好的解决办法,
select * from (
select id,name,counts,createDate,row_number() over(partition by name order by createDate desc) rn
from testTable
) t where t.rn &=1
7,485 次阅读
欢迎转载,请注明出处:
本文目前尚无任何 trackbacks 和 pingbacks.
Recent Posts查看: 10014|回复: 8
如何取得表中某个字段最大值所在行的其他字段数据
论坛徽章:0
有个表table 有 4 个字段 id,name , time,phone
id,name , time,phone
想找出 phone =
的time最大的,name值
现在用如下语句查询
select name from table t where t.time = (select max( time) from table where phone = '') and t.phone = ''
上面SQl会有个问题,子查询进行了全表扫描,外面的查询同样进行过一次全表扫描。
能否第一次查询出所有的&&select * from table where phone = '' ,然后在对这个结果集扫描,提高速度?
论坛徽章:4
select * from table where phone = ''&&order by time des
从大到小排序取第一个不就行了
论坛徽章:0
原帖由 freedom2k 于
12:21 发表
select * from table where phone = ''&&order by time des
从大到小排序取第一个不就行了
排序效率更低吧
论坛徽章:4
论坛徽章:4
不好意思,一直没时间弄,刚才试了一下用排序效率差了点。还有一些具体的测试没试过
论坛徽章:52
回复 #3 ealpha 的帖子
time字段可走索引的话,应该会快的.....特别是数据量越大的时候
论坛徽章:4
看业务需要了,否则表上得索引太多了也不好
论坛徽章:0
子查询是很慢,可以用临时表,把结果先放临时表
select max(time) as time,phone into #t
from t where phone = ''
select name
from t a,#t b
where a.time = b.time and a.phone = b.phone
论坛徽章:41
原帖由 freedom2k 于
12:21 发表
select * from table where phone = ''&&order by time des
从大到小排序取第一个不就行了
理论上phone上有索引,应该速度就很快的,难道一个手机号对应N个time和name?
建个phone,time的联合索引,理论上速度会很快。
select name from table where phone = ''&&order by time desc limit 1
itpub.net All Right Reserved. 北京皓辰网域网络信息技术有限公司版权所有    
 北京市公安局海淀分局网监中心备案编号: 广播电视节目制作经营许可证:编号(京)字第1149号MySQL查询-分组取组中某字段最大(小)值所有记录
时间: 23:01:08
&&&& 阅读:2734
&&&& 评论:
&&&& 收藏:0
标签:&&&&&&&&&&&&&&&&&&&&&&&&&&&  最近做东西的时候,用到一个数据库的查询。将记录按某个字段分组,取每个分组中某个字段的最大值的所有记录。举栗子来说。
& & & 已知分数表&score&,包含字段&id", "name", "course", "score"。包含记录如下图所示。
  现在,要求查询每个人分数最高的课程的那一条记录。即获得如下结果:
&  大概思路是,先通过order by将记录按score字段排序,创建临时表。然后按name字段分组查询临时表,即可获得所需查询结果。完整的sql语句如下:
& & & &SELECT ns.id, ns.name, ns.course, ns.score FROM ( SELECT id, name, course, score FROM score ORDER BY score DESC) AS ns GROUP BY ns.name ORDER BY ns.
&  当然要获取分组的最小值,只需在创建临时表ns时,按升序排列 (ORDER BY score ASC) 即可。
  &以上。
&标签:&&&&&&&&&&&&&&&&&&&&&&&&&&&原文:/chenxl/p/4370278.html
教程昨日排行
&&国之画&&&& &&&&&&
&& &&&&&&&&&&&&&&
鲁ICP备号-4
打开技术之扣,分享程序人生!

我要回帖

更多关于 171是什么电话号码 的文章

 

随机推荐