SQL语句 怎样按排序后显示前三个

$sql=mysql_query("selecttop3titlefromart_titlejoinart_neirongonart_title.no=art_neiro... $sql=mysql_query("select top 3 title from art_title join art_neirong on art_title.no=art_neirong.no order by last_update DESC;");

$i=0;
while($result=mysql_fetch_array($sql))
{
echo "<h5>".$result['title']."</h5>;
}

程序如上 为什么报错 该怎样改 谢谢
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in
如果sql语句里没有top 3的话就可正常显示运行
展开
 我来答
斋如风0I5
推荐于2016-09-08 · TA获得超过598个赞
知道小有建树答主
回答量:453
采纳率:100%
帮助的人:273万
展开全部
没有看到你的数据库conn连接啊:
@$conn = mysql_connect("yourHost","yourUserID","yourPassword");

$sql=mysql_query("select top 3 title from art_title join art_neirong on art_title.no=art_neirong.no order by last_update DESC;",$conn);
//echo $sql;
$i=0;
while($result=mysql_fetch_array($sql))
{
echo "<h5>".$result['title']."</h5>;
}
mysql_close($conn);
追问
数据库在前面连过了 这样改还是不行。。
追答
我查了一下  貌似mysql数据库不支持top语法,你要是选取前三条数据 你可以把sql语句改成这么写,效果应该一样:
select title from art_title join art_neirong on art_title.no=art_neirong.no order by last_update DESC limit 3;
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
刘大宝125
2015-10-22 · 超过31用户采纳过TA的回答
知道答主
回答量:79
采纳率:0%
帮助的人:21.9万
展开全部
根据SQL 的语法规则,先执行Select 部分,然后才Order by,所以根据你的要求应该
Select top 3 (a.*) from (select *from tablename order by col1)a
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
akycf
推荐于2018-03-05 · TA获得超过178个赞
知道小有建树答主
回答量:569
采纳率:18%
帮助的人:131万
展开全部
select top 3 from table order by
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式