我搜索了效果良好的城市:
$sql = "`status`,`name`,`zip`,`city`, `xxx`, `yyy`";
$geo = "(".$radius." * SQRT(2*(1-cos(RADIANS(breit)) *
cos(".$rad_b.") * (sin(RADIANS(lang)) *
sin(".$rad_l.") + cos(RADIANS(lang)) *
cos(".$rad_l.")) - sin(RADIANS(breit)) *
sin(".$rad_b."))))";
$select = "SELECT $sql, $geo AS distance FROM TABLE Having
((distance <= '".$area."') or (distance <= 20 && `city` = '".$city."')) &&
`status` BETWEEN '1' AND '10'
ORDER BY `city` = '".$city."' DESC, distance, RAND()";
$result = mysqli_query($db,$select);
现在我想统计有多少个xxx字段的值为1。 有人有解决办法吗?
谢谢JK
最佳答案
你可以使用
SELECT COUNT(1) FROM table WHERE value = 1
$select1 = "SELECT COUNT(1) FROM table WHERE xxx = 1 HAVING
((distance <= '".$area."') OR (distance <= 20 && `city` = '".$city."'))
ORDER BY `city` = '".$city."' DESC, distance, RAND()";
$result1 = mysqli_query($db,$select1);
通过这种方式,您应该在 $result1 变量中获取您的值
SELECT $sql, $geo AS 距表的距离
((距离 <= '".$area."') 或 (距离 <= 20 && city
= '".$city."')) &&
状态
介于“1”和“10”之间
ORDER BY city
= '".$city."' DESC、距离、RAND()
关于MySQL COUNT() 或 SUM(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21604000/