SQL Запрос

fbs

Новичок
SQL Запрос

Есть табличка с полем is_url, которое содержит url или пустую строку ''. Подскажите пожалуйста как составить запрос, чтобы выбрать в результате количество полей, которые содержат url и количество полей, в которых url нет.
 

aleks_raiden

Новичок
COUNT(is_url) WHERE is_url != NULL OR is_url != ''

COUNT(is_url) WHERE is_url == NULL OR is_url = ''

самое первое и тпое, что приходит в голову. Читай мануал и разбирайся с запросами и условиями. Тогда отпадут такие вопросы.
 

fbs

Новичок
aleks_raiden

Мне это тоже пришло в голову. А вот как это сделать одним запросом не знаю. Join и Union по-моему не подходят для решения.
 

.::PhoenikS::.

Новичок
Если речь о Mysql, то будет работать следующее

select count(*), case length(coalesce(is_url, '')) when 0 then 0 else 1 end
from your_table
group by case length(coalesce(is_url, '') when 0 then 0 else 1 end

соответственно будет 2 строки - в первой пустые урлы, во второй - заполненные
где какие понятно из запроса
 

fbs

Новичок
.::phoenikS::.
Немного упростил, заработало.

SELECT count( * ) ,
IF (
c_url = '', 0, 1
) AS expr1
FROM company
GROUP BY expr1

Жаль что не выходит сделать результат ввиде полей, а не строк, поскольку так нельзя сгруппировать выборку по записям: чтобы в выборке содержалось количество url которые есть в группе и количество которых нет.
 

Андрейка

Senior pomidor developer
fbs
угу, очень жаль... ведь можно написать только один IF на запрос и кроме COUNT других функций в mysql просто нет
 

.::PhoenikS::.

Новичок
Автор оригинала: fbs

Жаль что не выходит сделать результат ввиде полей, а не строк, поскольку так нельзя сгруппировать выборку по записям: чтобы в выборке содержалось количество url которые есть в группе и количество которых нет.
одним запросом можно на самом деле, просто способ будет извратный
писать полностью не буду, потому как сейчас переписывать запрос под Mysql неохота (и нет времени - домой убегаю с работы %), если вкратце, то смотреть в сторону SUM()

ничего не придумаешь - стукни в личку, дам запросик
 
Сверху