选择视图数量最少的广告

时间:2016-02-14 19:30:03

标签: php mysql

我有一个sql语句,我试图获得视图数量最少的广告:

SELECT * FROM ads WHERE type='crossPromo' AND city='$city' AND views= ( SELECT MIN(views) FROM ads ) AND expire >= '$today' LIMIT 1";

选择广告后,会将“视图”列增加一个。

一切都很完美。一旦。似乎所有广告== 1,它不仅会选择随机广告或第一个广告,而且不会返回任何内容。

当它们全部相等时,有没有办法让它返回一个添加?

1 个答案:

答案 0 :(得分:6)

我认为您可以使用order bylimit

select a.*
from ads
where type = 'crosspromo' and city = '$city' and expire >= '$today'
order by views
limit 1;

您的查询存在的问题是它在子查询中返回所有广告的最小值。但是,该最低限度可能不满足其他条件,因此不会返回任何内容。