我有SQL查询:
$query = "SELECT yearoffiling, COUNT( id )
FROM files
GROUP BY yearoffiling
LIMIT 0 , 30";
如何将COUNT(id)
中的值放在字符串中?
谢谢。
答案 0 :(得分:4)
$query = "SELECT yearoffiling, COUNT( id ) total FROM files GROUP BY yearoffiling LIMIT 0 , 30";
$result = mysql_query($query);
while ($ary = mysql_fetch_assoc($result)){
echo $ary['total'];
}
我就是这样做的“老派”。我建议这些天使用预备语句和PDO。希望这可以帮助。
答案 1 :(得分:3)
您可以使用convert() or cast()函数执行此操作。
SELECT cast(COUNT(id) as char), ....
答案 2 :(得分:2)
Jeremy,只是为了添加到你的内容我认为你可能需要AS属性来进行修改
$query = "SELECT yearoffiling, COUNT( id ) AS total FROM files GROUP BY yearoffiling LIMIT 0 , 30";
答案 3 :(得分:2)
这有两个步骤:
COUNT(id)
在列声明之后始终定义列别名,包括示例中的COUNT(id)
之类的计算列。正如您所注意到的,计算列需要它们才能在其他位置引用该值。您可以使用AS
表示法,或者只是在单引号内声明别名。例子:
COUNT(id) AS count_id
COUNT(id) 'count_id'
两者都是有效的语法,但请注意,如果使用MySQL关键字,则必须使用反引号(`)来转义要执行的查询的值。
您可以为任何您喜欢的别名命名,但它确实应该是信息性的。如果不确定,请使用走廊测试 - 随意询问走廊里的人是否有意义。
当您处理任何不执行隐式类型转换的编程时,这是必需的,这需要您获取列值(在本例中为整数)并将其转换为字符串(或任何其他所需的数据类型 - 小数,浮点数等)。您可以使用MySQL CAST or CONVERT functions中的任何一个 - 它们是彼此的同义词。例子:
CAST(COUNT(id) AS VARCHAR(4))
CONVERT(COUNT(id), VARCHAR(4))
请注意,这是在MySQL领域发生的,因此您只能CAST / CONVERT到MySQL datatypes。