我正在尝试在查询中应用 COUNT(),并且它的工作方式如下:
$sql = "SELECT id, Title, images, recdate, 'item' AS type FROM ads_list WHERE to_days(now())<=(to_days(recdate)+14)";
我已经尝试过:
1. $sql = "SELECT id, Title, images, recdate, 'item' AS type COUNT(*) FROM ads_list WHERE to_days(now())<=(to_days(recdate)+14)";
2. $sql = "SELECT COUNT(*) id, Title, images, recdate, 'item' AS type FROM ads_list WHERE to_days(now())<=(to_days(recdate)+14)";
3. $sql = "SELECT COUNT(id), Title, images, recdate, 'item' AS type FROM ads_list WHERE to_days(now())<=(to_days(recdate)+14)";
4. $sql = "SELECT id, Title, images, recdate, 'item' AS type FROM ads_list WHERE to_days(now())<=(to_days(recdate)+14) COUNT(*)";
我做错了什么?
最佳答案
Count(*) 是一个分组函数,它返回所选行的计数。您必须对未包含在 group by 子句中的任何列使用 group by 函数。所以,你可以这样做:
SELECT count(*) as 'Count' FROM ads_list WHERE ...
但您不能(直接)按功能选择一组和四个标准列。您想通过 count(*) 实现什么目的?
对于总行数,您可以使用mysql_num_rows($result_resource)
。如果您需要行和计数(并且您正在使用标准 mysql 库),这可能是获得您想要的内容的最佳方法。如果您不需要行(仅需要计数),则使用 count(*)。
关于php - 在带有选定列名的 php 查询中应用 MySQL COUNT(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8855863/