将MySQL中的count(id)转换为字符串

时间:2009-11-30 04:56:30

标签: php mysql

我有SQL查询:

$query = "SELECT yearoffiling, COUNT( id )
FROM files
GROUP BY yearoffiling
LIMIT 0 , 30";

如何将COUNT(id)中的值放在字符串中?

谢谢。

4 个答案:

答案 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)

这有两个步骤:

  1. 定义COUNT(id)
  2. 的列别名
  3. 可选:更改MySQL用于列的数据类型以最小化数据类型转换问题
  4. 定义列别名

    在列声明之后始终定义列别名,包括示例中的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