我想在MySQL查询中使用if语句来SELECT
数据库中的所有信息,如果...返回true,或者返回名为COUNT
的列的aid
。
伪代码:
IF (COUNT(`AID`) > 0) {
SELECT * FROM `a_votes` WHERE `aid` = '1'
} ELSE {
RETURN 'No Rows'
}
请您告诉我我该怎么做?
编辑 - -
我尝试了以下查询,但收到错误
Operand should contain 1 column(s)
SELECT IF( (
SELECT COUNT( aid ) AS `count`
FROM `a_votes`
WHERE `aid` =1 ) =0, 'true', (
SELECT *
FROM `a_votes`
WHERE `aid` =1
)
) AS message
最佳答案
SELECT * FROM (
SELECT COUNT(*) as COUNT FROM a_votes WHERE aid = '1'
) x WHERE COUNT > 0;
如果没有行匹配,则简单的
COUNT(*))
将返回单行,其中0
作为计数。在消除该条件的外部查询中包装通常的COUNT(*)
查询将不返回任何行。编辑:
感谢
@bisiclop
,这是一个更好的解决方案:SELECT COUNT(*) as COUNT
FROM a_votes
WHERE aid = '1'
HAVING COUNT(*) > 0;
关于mysql - MySQL中的if语句,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11066158/