23

我正在使用 sql 查询从表中获取行。我只想选择具有不同值的行,如果没有为某些行输入值,则该行不应该存在。

SELECT DISTINCT meta_value FROM `wp_postmeta` WHERE meta_key = "aaa";

这是我正在使用的查询,我通过这个查询得到了不同的行,但也得到了空白行。

4

6 回答 6

30

简单的解决方案:

SELECT DISTINCT meta_value 
FROM `wp_postmeta` 
WHERE meta_key = "aaa" AND meta_value != "";
于 2012-06-06T10:18:35.443 回答
19

Try this query with IS NOT NULL

SELECT DISTINCT meta_value
FROM `wp_postmeta`
WHERE meta_key = "aaa"
AND meta_value IS NOT NULL ;
于 2012-06-06T10:29:51.883 回答
4

我会用

where meta_key = "aaa"
AND (meta_value IS NOT NULL or meta_value != "");

但这取决于您使用的引擎,最重要的是 - 您插入空值的方式。空 <> 0 <> ' '

于 2014-08-21T15:25:10.697 回答
1
SELECT DISTINCT meta_value
FROM `wp_postmeta`
WHERE meta_key = "aaa"
AND meta_value != "";
于 2012-06-06T10:19:45.093 回答
1

您需要处理meta_value列中的空值。你可以像下面这样。

SELECT DISTINCT meta_value FROM wp_postmeta WHERE meta_key = 'aaa' and meta_value != ISNULL(meta_value,'')

希望这会正常工作。

于 2019-05-10T13:20:09.117 回答
0

在此查询中,显示不同的值,如果列包含一些空值,也会被删除。

" select distinct color from tbl_product where color is not null"

我希望这段代码对所有人都有帮助..

于 2017-03-14T10:25:28.923 回答