Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/ant/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
MySQL的计数值_Mysql - Fatal编程技术网

MySQL的计数值

MySQL的计数值,mysql,Mysql,我有我的MySQL数据库和下面的数据 我想数一数约翰付了多少钱 ID NAME NUMBER COUNTRY STATUS ---------------------------------- 1 JOHN 021 USA PAID 2 MIKE 022 CA UNPAID 3 KENT 023 UK NOT-OPEN 4 JOHN 021 USA PAID 我的查询: SELECT COUNT(*) FROM USER W

我有我的MySQL数据库和下面的数据

我想数一数约翰付了多少钱

ID NAME NUMBER COUNTRY STATUS 
----------------------------------
1  JOHN  021    USA    PAID
2  MIKE  022    CA     UNPAID
3  KENT  023    UK     NOT-OPEN
4  JOHN  021    USA    PAID
我的查询

SELECT COUNT(*) FROM USER WHERE NUMBER = '021' OR NAME = 'JOHN' HAVING STATUS = 'PAID'
但是我收到了这个错误:

“having子句”中的未知列“STATUS”


此外,为了确保只获得该单个用户的计数,还需要输入

(NUMBER = '021' AND NAME = 'JOHN')
试试这个:

    SELECT COUNT(*) FROM USER WHERE (NUMBER = '021' AND NAME = 'JOHN') AND STATUS = 'PAID'

正在努力取得成果。。结果中没有列状态

或者添加WHERE子句(并避免使用)

或者添加要选择的列(但对于mysql版本>5.6,这需要一个group by to fr默认sql_模式设置)


您也可以这样做:

SELECT COUNT(*) FROM USER WHERE (NUMBER = '021' OR NAME = 'JOHN') AND (STATUS = 'PAID')

拥有
SELECT COUNT(*), STATUS  
FROM USER 
WHERE NUMBER = '021' OR NAME = 'JOHN' 
GROUP BY STATUS 

HAVING STATUS = 'PAID'
SELECT COUNT(*) FROM USER WHERE (NUMBER = '021' OR NAME = 'JOHN') AND (STATUS = 'PAID')