我有一个查询,我尝试检索行数,但在我的情况下,每次都会删除结果 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/