如何在SELECT语句中获取选定的行数?

时间:2012-05-22 04:27:21

标签: php sql

我想使用sql查询从表中获取所选行数和sender值。

$sql='SELECT sender 
      FROM messages 
      WHERE message_id = :message_id';
$sender_result = $db->query($sql, array(':message_id'=>$message_id));
$sender = $sender_result->fetch();

请帮帮我。感谢。

3 个答案:

答案 0 :(得分:2)

您可能需要单独检索行数,并使用如下查询:

select count(*) 
    from messages 
    where message_id = :message_id;

答案 1 :(得分:1)

您需要使用count和group by,为您提供每个发件人的行数

SELECT sender, COUNT(*) As CNT
FROM messages
WHERE message_id = :message_id
GROUP BY sender

答案 2 :(得分:1)

试试这个

$sql='SELECT sender 
      FROM messages 
      WHERE message_id = :message_id';
$sender_result = $db->query($sql, array(':message_id'=>$message_id));
$senders = $sender_result->fetchAll();
$count = count($senders);

它会将所有结果行存储在$ senders中,因此您只需计算此变量。你也得到所有发件人(不知道他们是相同还是不同......)