我正在使用sql查询从表中获取行。我想只选择具有不同值的行,如果没有为某行输入值,则该行不应该在那里。
SELECT DISTINCT meta_value FROM `wp_postmeta` WHERE meta_key = "aaa";
这是我正在使用的查询,我通过此查询获取不同的行,但也获取空行。
答案 0 :(得分:23)
简单的解决方案:
SELECT DISTINCT meta_value
FROM `wp_postmeta`
WHERE meta_key = "aaa" AND meta_value != "";
答案 1 :(得分:17)
使用IS NOT NULL
SELECT DISTINCT meta_value
FROM `wp_postmeta`
WHERE meta_key = "aaa"
AND meta_value IS NOT NULL ;
答案 2 :(得分:3)
我会用
where meta_key = "aaa"
AND (meta_value IS NOT NULL or meta_value != "");
但这取决于您使用的引擎,最重要的是 - 您插入空值的方式。 NULL<> 0<> ''
答案 3 :(得分:1)
SELECT DISTINCT meta_value
FROM `wp_postmeta`
WHERE meta_key = "aaa"
AND meta_value != "";
答案 4 :(得分:1)
在此查询中,如果列中包含一些空值,则会显示不同的值。
" select distinct color from tbl_product where color is not null
"
我希望这段代码对所有人都有帮助。
答案 5 :(得分:1)
您需要处理meta_value
列中的空值。
您可以按照以下步骤进行操作。
SELECT DISTINCT meta_value FROM wp_postmeta WHERE meta_key = 'aaa' and meta_value != ISNULL(meta_value,'')
希望这可以正常工作。