【发布时间】:2012-06-10 08:26:57
【问题描述】:
我正在使用 sql 查询从表中获取行。我只想选择具有不同值的行,如果没有为某行输入值,则该行不应该存在。
SELECT DISTINCT meta_value FROM `wp_postmeta` WHERE meta_key = "aaa";
这是我正在使用的查询,我通过该查询获得了不同的行,但也获得了空白行。
【问题讨论】:
标签: mysql phpmyadmin
我正在使用 sql 查询从表中获取行。我只想选择具有不同值的行,如果没有为某行输入值,则该行不应该存在。
SELECT DISTINCT meta_value FROM `wp_postmeta` WHERE meta_key = "aaa";
这是我正在使用的查询,我通过该查询获得了不同的行,但也获得了空白行。
【问题讨论】:
标签: mysql phpmyadmin
您需要处理meta_value 列中的空值。
你可以这样做。
SELECT DISTINCT meta_value FROM wp_postmeta WHERE meta_key = 'aaa' and meta_value != ISNULL(meta_value,'')
希望这会正常工作。
【讨论】:
在这个查询中,显示不同的值,如果一列包含一些空值也会被删除。
“select distinct color from tbl_product where color is not null”
我希望这段代码对所有人都有帮助..
【讨论】:
我会用
where meta_key = "aaa"
AND (meta_value IS NOT NULL or meta_value != "");
但这取决于您使用的引擎,最重要的是 - 您插入空值的方式。 NULL 0 ' '
【讨论】:
用IS NOT NULL试试这个查询
SELECT DISTINCT meta_value
FROM `wp_postmeta`
WHERE meta_key = "aaa"
AND meta_value IS NOT NULL ;
【讨论】:
SELECT DISTINCT meta_value
FROM `wp_postmeta`
WHERE meta_key = "aaa"
AND meta_value != "";
【讨论】:
简单的解决方案:
SELECT DISTINCT meta_value
FROM `wp_postmeta`
WHERE meta_key = "aaa" AND meta_value != "";
【讨论】: