Mysql 如果未找到任何记录,则sql获取零作为值
我有一个简单的问题,我四处看看,但不能让它为我工作。我对当前日期进行了查询,假设明天是星期二,但其中没有数据,因为这是未来。而且里面还没有记录 当我运行查询时,它只显示2个列,称为Mysql 如果未找到任何记录,则sql获取零作为值,mysql,sql,mariadb,Mysql,Sql,Mariadb,我有一个简单的问题,我四处看看,但不能让它为我工作。我对当前日期进行了查询,假设明天是星期二,但其中没有数据,因为这是未来。而且里面还没有记录 当我运行查询时,它只显示2个列,称为total | Date 它照我说的做。但是现在我想让它显示0,而不是只显示2列 我确实搜索了COALESCE,但由于某种原因,它不起作用,也没有给我任何错误 SELECT SUM(totalExcl) AS total, DATE_FORMAT(date_add, '%W') AS 'Date'
total | Date
它照我说的做。但是现在我想让它显示0
,而不是只显示2列
我确实搜索了COALESCE,但由于某种原因,它不起作用,也没有给我任何错误
SELECT
SUM(totalExcl) AS total,
DATE_FORMAT(date_add, '%W') AS 'Date'
FROM
ex.ps_ox_quotation
WHERE
WEEK(date_add) = WEEK (UTC_TIMESTAMP())
AND saleType IN ('IEW' , 'A', 'Project')
AND DAYOFWEEK(date_add) % 6 > 4
GROUP BY Date
ORDER BY 'Date' DESC
我有什么(桌子)=
我想要什么(桌子)=
今天是星期三,所以它是当前日期,这是它显示的(顺便说一句,这是当前日期),我只是显示它:
| |total | Date
500 Wednesday
尝试使用IFNULL
SELECT
IFNULL(SUM(totalExcl),0) AS total,
DATE_FORMAT(date_add, '%W') AS 'Date'
FROM
ex.ps_ox_quotation
WHERE
WEEK(date_add) = WEEK (UTC_TIMESTAMP())
AND saleType IN ('IEW' , 'A', 'Project')
AND DAYOFWEEK(date_add) % 6 > 4
GROUP BY Date
ORDER BY 'Date' DESC
试试这个
SELECT
IF(SUM(totalExcl) is NULL,0,SUM(totalExcl)) AS total,
DAYNAME(date_add) AS 'Date'
FROM
ex.ps_ox_quotation
WHERE
WEEK(date_add) = WEEK (UTC_TIMESTAMP())
AND saleType IN ('IEW' , 'A', 'Project')
AND DAYOFWEEK(date_add) % 6 > 4
GROUP BY Date
ORDER BY 'Date' DESC
或者你可以这样做
SELECT
IF(SUM(totalExcl) is NULL,0,SUM(totalExcl)) AS total,
IF(DATE_FORMAT(date_add, '%W') is null,DAYNAME(now()),DATE_FORMAT(date_add, '%W')) AS 'Date'
FROM
ex.ps_ox_quotation
WHERE
WEEK(date_add) = WEEK (UTC_TIMESTAMP())
AND saleType IN ('IEW' , 'A', 'Project')
AND DAYOFWEEK(date_add) % 6 > 4
GROUP BY Date
ORDER BY 'Date' DESC
我想您需要“`@@ROWCOUNT``谢谢,我会尽快尝试。尝试后请告诉我。第一个可行,但在列日期给我一个空值。第二个也做了这项工作,并没有给我null,而是给了我列Date的实际日期名称。对于这两种情况,如果还没有记录的话,它给了我一个零(o)的列总数,所以它完成了任务。非常感谢。
SELECT
IF(SUM(totalExcl) is NULL,0,SUM(totalExcl)) AS total,
DAYNAME(date_add) AS 'Date'
FROM
ex.ps_ox_quotation
WHERE
WEEK(date_add) = WEEK (UTC_TIMESTAMP())
AND saleType IN ('IEW' , 'A', 'Project')
AND DAYOFWEEK(date_add) % 6 > 4
GROUP BY Date
ORDER BY 'Date' DESC
SELECT
IF(SUM(totalExcl) is NULL,0,SUM(totalExcl)) AS total,
IF(DATE_FORMAT(date_add, '%W') is null,DAYNAME(now()),DATE_FORMAT(date_add, '%W')) AS 'Date'
FROM
ex.ps_ox_quotation
WHERE
WEEK(date_add) = WEEK (UTC_TIMESTAMP())
AND saleType IN ('IEW' , 'A', 'Project')
AND DAYOFWEEK(date_add) % 6 > 4
GROUP BY Date
ORDER BY 'Date' DESC