【问题标题】:SQL COUNT() WHERE multiple valuesSQL COUNT() WHERE 多个值
【发布时间】:2011-08-10 00:03:20
【问题描述】:

我会让这篇文章简短:我想计算我的行出现在我的表中的次数,其中该行是一个特定的值,而另一行可能是 4 个不同的值。我会发布我的“猜测”,但它不起作用:

SELECT hero_selected, COUNT(hero_type) FROM heroes WHERE hero_type = 'agi' AND hero_selected = 'yt' OR hero_selected = 'yb' OR hero_selected = 'ym' OR hero_selected = 'yf


关于表的信息

表格名称
英雄

行数
hero_type

在哪里选择“hero_type”
值为“敏捷”

仅在“hero_selected”所在的位置选择它
ytybymyf

如果可能的话,我也会感谢完整的代码,包括 echo 的计数金额在 php.ini 中。提前非常感谢! :)

【问题讨论】:

  • 最后缺少的 ' 是否是错误复制?另外,您会得到什么结果与您的预期相反?

标签: php sql count where


【解决方案1】:
SELECT COUNT(*) 
FROM heroes 
WHERE hero_type = 'agi' AND hero_selected IN ('yt', 'yb', 'ym', 'yf')

【讨论】:

  • 非常感谢您的快速答复!但这并不是我问题的完整解决方案。我想要(也许很难从我的解释中得到)一个数字。
【解决方案2】:

根据我从您的问题中收集到的信息,您需要此查询

SELECT COUNT(1) FROM heroes
WHERE hero_type = 'agi'
AND hero_selected IN ('yt', 'yb', 'ym', 'yf')

PHP 代码可能如下所示

$db = new PDO(...);
$stmt = $db->query($query);
$count = $stmt->fetchColumn();
echo $count;

我在这里假设您只想要一个计数,而不是每个不同的 hero_selected 值,因为其他答案表明

【讨论】:

  • @Xaade 又来了?问题要求“在php中包含计数数量的回声”
  • 感谢您的快速答复!完美运行,感谢帮助!顺便说一句,只有一个问题:你们在这里帮助人们有什么收获吗?我的意思是,如果您可以购买声望点或所谓的东西。如果你不......那么你们真是太善良了!
  • @Cheezen 我们得到了温暖、发光、温暖的光芒。另请参阅stackoverflow.com/faq#reputation
猜你喜欢
  • 2020-08-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-02-10
  • 2013-04-10
  • 2021-07-16
相关资源
最近更新 更多