你好我尝试学习SQL约数,但我不能甚而计算价值有多少次是在一个特定的列计数SQL语法COUNT(值)多列
我的数据库结构是这样的。 (表:自然)
ID | one | two | three |
1 | 34 | 45 | 80 |
2 | 41 | 34 | 7 |
3 | 7 | 18 | 22 |
4 | 8 | 7 | 45 |
我试着这样
$result=mysql_query("SELECT COUNT(one) AS total FROM natural
WHERE one=7")or die("Error: ".mysql_error());
$data=mysql_fetch_assoc($result);
echo $data['total'];
但即使在数只有1列,我不能得到的结果..
我需要的是指望有多少次是所有列中的“值”(例如7)
类似于本示例中的值7 = 3总计(多列)
我怎样才能让这样的SQL。
编辑:尝试这(哪里是我的语法问题?)
$result=mysql_query("SELECT COUNT(DISTINCT id) TotalCount FROM tblname WHERE 7 IN (one, two, three)")or die("Error: ".mysql_error());
$data=mysql_fetch_assoc($result);
echo $data['TotalCount'];
我吸了,谢谢您的回答,但我认为我的问题是用的mysql_query()因为我始终有一个语法问题,用你所有的答案和它显然是我的。
$result=mysql_query("SELECT (SUM(CASE WHEN one = 7 THEN 1 ELSE 0 END) +
SUM(CASE WHEN two = 7 THEN 1 ELSE 0 END) +
SUM(CASE WHEN three = 7 THEN 1 ELSE 0 END)) TotalCount
FROM natural")or die("Error: ".mysql_error());
$data=mysql_fetch_assoc($result);
echo $data['TotalCount'];
为了解决这个问题最后的代码,只需使用one
和two
...等等,这就是natural
正确的语法:d
只是一个音符。 'mysql_query'被删除。学习mysqli或PDO。 – itachi