我有一个mySQL查询产生一个空集。例如,MySQL查询产生一个空集
SELECT id
FROM `my_table`
WHERE type = 'old'
AND neighborhoods = 'Newport'
产生一个空集。如果查询产生空集,可以将其返回:
id
---
0
谢谢。
-Laxmidi
我有一个mySQL查询产生一个空集。例如,MySQL查询产生一个空集
SELECT id
FROM `my_table`
WHERE type = 'old'
AND neighborhoods = 'Newport'
产生一个空集。如果查询产生空集,可以将其返回:
id
---
0
谢谢。
-Laxmidi
您可以在查询
SELECT id, COUNT(id) as Total
FROM `my_table`
WHERE type = 'old'
AND neighborhoods = 'Newport'
的COUNT
部分添加和将返回至少一个记录与Total=0
是,
SELECT COUNT(id)
FROM `my_table`
WHERE type = 'old'
AND neighborhoods = 'Newport'
将始终返回结果集。
如果您需要INCLUDE ID,那么您可以使用LEFT OUTER来完成此操作。
SELECT a.id,
IFNULL(b.cnt,0) as cnt
FROM
(
SELECT distinct id, 'myjoin' as myjoin
FROM `my_table`
WHERE id = [what you are looking for]
) a LEFT OUTER JOIN
(
SELECT COUNT(id) as cnt
FROM `my_table`
WHERE type = 'old'
AND neighborhoods = 'Newport'
) b ON a.myjoin=b.myjoin
第一个查询带回你想要的ID,然后在连接(LEFT OUTER),为固定值(在这种情况下,所谓的“myjoin”),如果后者查询回来空将带回0。
我离开了id和COUNT()作为参数,因此您将得到“0”的结果或者您将获得记录集。 – jerebear 2010-07-13 02:47:56
jerebear, 非常感谢!它效果很好。 – Laxmidi 2010-07-13 02:59:22