表图书:
subject | userid | flag
---------+----------+--------
math | abc | 0
math | abc | 0
english | xyz | 0
我想搜索 数学 主题的数量,其中 userid 和 flag = 0
我应该如何编写SQL语句?
我尝试了COUNT(subject) AS math FROM books WHERE userid = 'abc' AND flag = '0';
它不起作用。
答案 0 :(得分:2)
如果您只想使用math
获取userid = 'abc' AND flag = '0'
主题,可以使用以下查询:
SELECT COUNT(subject) AS math
FROM books WHERE userid = 'abc' AND flag = '0' AND subject = 'math';
否则,如果您只想要userid = 'abc' AND flag = '0'
的主题,则您提供的query
完全是这样做的:
SELECT COUNT(subject) AS math
FROM books WHERE userid = 'abc' AND flag = '0';
要使用php
在mysql_fetch_assoc
中显示,您可以指定列名来访问以下值:
$sql = "SELECT COUNT(subject) AS math
FROM books WHERE userid = 'abc' AND flag = '0'";
$result = mysql_query($sql);
if (!$result) {
echo "Could not successfully run query ($sql) from DB: " . mysql_error();
exit;
}
if (mysql_num_rows($result) == 0) {
echo "No math subjects exist";
exit;
}
while ($row = mysql_fetch_assoc($result)) {
echo $row["math"];
}
答案 1 :(得分:0)
也许这个:
SELECT COUNT(subject) AS math
FROM books
WHERE flag = '0'
GROUP BY userid
HAVING userid = 'abc';