mysql - 选择带有左连接的 count(*)

标签 mysql sql select count

我有一个查询,我尝试检索行数,但在我的情况下,每次都会删除结果 1。我想这是一个连接问题,我不知道如何处理这个问题

SELECT 
  COUNT(*) AS summe 
FROM
  feeds 
  LEFT JOIN cat_product cp 
    ON cp.product_id = feeds.productid 
WHERE 1 = 1 
  AND cp.price BETWEEN 950 
  AND 1450 
  AND cp.ram_cap BETWEEN 5 
  AND 11 
  AND feeds.tdcategoryname LIKE '%Laptop%' 
  AND feeds.brand IN ('Dell', 'Lenovo', 'Acer', 'Asus') 
GROUP BY cp.product_id 

最佳答案

尝试一下,不确定您使用的是MySQL还是MSSQL。由于您LEFT JOIN,值有可能是NULL。在 MSSQL 中,如果考虑 NULL 值,则结果将为 NULL 在使用 COUNT 等聚合函数时始终如此>。

对于 MySQL

SELECT 
  COUNT(IFNULL(cp.Procuct_id,0)) AS summe 
FROM
  feeds 
  LEFT JOIN cat_product cp 
    ON cp.product_id = feeds.productid 
WHERE 1 = 1 
  AND cp.price BETWEEN 950 
  AND 1450 
  AND cp.ram_cap BETWEEN 5 
  AND 11 
  AND feeds.tdcategoryname LIKE '%Laptop%' 
  AND feeds.brand IN ('Dell', 'Lenovo', 'Acer', 'Asus') 

关于mysql - 选择带有左连接的 count(*),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20263209/

相关文章:

php - MySQL 按 DESC 排序结果记录中的差距。没有 Missing record w/sort ASC?

php - 将 DATE 2012-09-16 转换为 php 日期 ("l F jS") (PHP/mySQL)

PhpMyAdmin 无法导出任何数据库

python - pandas 中带有内部连接的 where 条件

c# - 在一个查询中使用 MySqlCommand 将多条记录插入 MySQL C# (MySQLConnector) & 用于转义引号的命令参数

mysql - 查询 mysql select 获取捐赠给 child 最多的玩具

MYSQL 内连接错误 - 'm.account_no' 中的未知列 'where clause'

php - 无法使用php jquery和ajax在mysql中输入数据

mysql - 使用大型数据集提高 Run-Once 查询的 MySQL 性能

mysql - SQL根据where row id将内容从一个表移动到另一个表