SQL выбирает отдельные строки и игнорирует строку, если пустой

Я использую sql-запрос для извлечения строк из таблицы. Я хочу выбрать строки только с отдельными значениями, и если для какой-либо строки не введено значение, эта строка не должна быть там.

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

Это запрос, который я использую, я получаю отдельные строки по этому запросу, но также получаю пустую строку.

Ответы

Ответ 1

Простое решение:

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

Ответ 2

Попробуйте этот запрос с помощью IS NOT NULL

SELECT DISTINCT meta_value
FROM `wp_postmeta`
WHERE meta_key = "aaa"
AND meta_value IS NOT NULL ;

Ответ 3

Я бы использовал

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

но это зависит от используемого вами двигателя и, самое главное, того, как вы вставляете пустые значения. NULL < > 0 < > ''

Ответ 4

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

Ответ 5

В этом запросе отображаются разные значения, если столбец содержит некоторые нулевые значения, которые также удаляются.

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

Я надеюсь, что этот код полезен для всех..

Ответ 6

Вам нужно обработать нулевое значение в столбце meta_value. Вы можете сделать так, как следует.

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

надеюсь, что это будет работать нормально.