MySQL中用select语句分类统计中以中文为条件查询时报错的问题
主表
SQL Query
SELECT
( SELECT COUNT(*) FROM `book` WHERE `book`.`publisher` = "文艺出版社") AS `文艺出版社`,
( SELECT COUNT(*) FROM `book` WHERE `book`.`publisher` = "人民邮电出版社" ) AS `人民邮电出版社`
( SELECT COUNT(*) FROM `book` WHERE `book`.`publisher` = "机械工业出版社" ) AS `机械工业出版社`
( SELECT COUNT(*) FROM `book` WHERE `book`.`publisher` = "清华大学出版社" ) AS `清华大学出版社`
( SELECT COUNT(*) FROM `book` WHERE `book`.`publisher` = "电子工业出版社" ) AS `电子工业出版社`
SQL Query
SELECT
( SELECT COUNT(*) FROM book
WHERE book
.publisher
= "文艺出版社") AS 文艺出版社
,
( SELECT COUNT(*) FROM book
WHERE book
.publisher
= "人民邮电出版社" ) AS 人民邮电出版社
( SELECT COUNT(*) FROM book
WHERE book
.publisher
= "机械工业出版社" ) AS 机械工业出版社
( SELECT COUNT(*) FROM book
WHERE book
.publisher
= "清华大学出版社" ) AS 清华大学出版社
( SELECT COUNT(*) FROM book
WHERE book
.publisher
= "电子工业出版社" ) AS 电子工业出版社
1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'SQL Query
SELECT
( SELECT COUNT(*) FROM book
WHERE book
.publisher
= "æ' at line 1
我在想是不是查询条件的问题?
你这个需求,用这条SQL搞定
SELECT publisher,COUNT(*) FROM book group by publisher;
试一下这个语句。
SELECT * from
( SELECT COUNT(*) AS `文艺出版社` FROM book WHERE book.publisher = "文艺出版社") a,
( SELECT COUNT(*) AS '人民邮电出版社' FROM book WHERE book.publisher = "人民邮电出版社" ) b,
( SELECT COUNT(*) AS '机械工业出版社' FROM book WHERE book.publisher = "机械工业出版社" ) c,
( SELECT COUNT(*) AS '清华大学出版社' FROM book WHERE book.publisher = "清华大学出版社" ) d,
( SELECT COUNT(*) AS '电子工业出版社' FROM book WHERE book.publisher = "电子工业出版社" ) e;
查询结果
SQL Query去掉试试
sql query 开头是什么鬼
分号呢,一个分号都没有
SELECT
( SELECT COUNT(*) FROM book
WHERE book
.publisher
= "文艺出版社") AS 文艺出版社
,
( SELECT COUNT(*) FROM book
WHERE book
.publisher
= "人民邮电出版社" ) AS 人民邮电出版社
,
( SELECT COUNT(*) FROM book
WHERE book
.publisher
= "机械工业出版社" ) AS 机械工业出版社
,
( SELECT COUNT(*) FROM book
WHERE book
.publisher
= "清华大学出版社" ) AS 清华大学出版社
,
( SELECT COUNT(*) FROM book
WHERE book
.publisher
= "电子工业出版社" ) AS 电子工业出版社
请加上逗号,其次你这个真的可以用group by搞定