MySQL的计数值
我有我的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
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')