嗨我想获得一个MySQL查询正常工作,但说实话林不知道从哪里开始,我认为计数功能将工作,但不知道。在MySQL中获取至少x行数
我想要做的是做一个选择,但如果有少于5行计数比与另一个查询/ where子句联合,直到达到5。
所以基本上走至少5行,并保持连接行,直到5个以上达到...
$myquery_mysql = mysql_query("(SELECT title, city, ad_image, rent, uniqid FROM rentals WHERE front_page_ad = '1' AND paid = '1' AND city = '".mysql_real_escape_string($GLOBALS['user_city'])."')
UNION ALL
(SELECT title, city, ad_image, rent, uniqid FROM rentals WHERE front_page_ad = '1' AND paid = '1' AND province = '".mysql_real_escape_string($GLOBALS['user_province'])."')
UNION ALL
(SELECT title, city, ad_image, rent, uniqid FROM rentals WHERE front_page_ad = '1' AND paid = '1')" or die(mysql_error());
我会做这样的事情......
$myquery_mysql = mysql_query("(SELECT title, city, ad_image, rent, uniqid count(if title > 5) THEN FROM rentals WHERE front_page_ad = '1' AND paid = '1')"
UNION ALL
(SELECT title, city, ad_image, rent, uniqid FROM rentals WHERE front_page_ad = '1' AND paid = '1' AND province = '".mysql_real_escape_string($GLOBALS['user_province'])."')
ELSE FROM rentals WHERE front_page_ad = '1' AND paid = '1')" END ;
or die(mysql_error());
我知道这ISN没错,但我只是想弄明白。
我在想,但我需要选择所有的查询,所以如果有13我需要所有13,thnaks – Tianbo84
哦,我明白了,我的错误。我不知道是否有一个优雅的方式来做到这一点。在最糟糕的情况下,您可以首先进行查询以计算有多少这样的结果,如果少于5,则使用我的方法,如果不是,则只需选择所有城市和省份的结果。 –
啊我在想可能没有办法做到这一点。我的新方式,然后我猜会像'代码$ city_num_rows = mysql_num_rows($ myquery_mysql);如果($ city_num_rows <5){//在这里执行}'' - 谢谢 – Tianbo84