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的话就可正常显示运行 展开
$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的话就可正常显示运行 展开
3个回答
展开全部
没有看到你的数据库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);
@$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;
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
根据SQL 的语法规则,先执行Select 部分,然后才Order by,所以根据你的要求应该
Select top 3 (a.*) from (select *from tablename order by col1)a
Select top 3 (a.*) from (select *from tablename order by col1)a
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
select top 3 from table order by
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询