сложный запрос, чтобы написать в MySQL для меня? - PullRequest
0 голосов
/ 20 мая 2011
field:   content_id, value=1 or  value=0, value_type=option
table:  votingapi_vote

1, выведите поле content_id и убавьте его, правило соответствует значению (количество значений каждого content_id = 1 минус количество значений каждого content_id = 0, каждый content_id имеет множество значений = 0 или значение = 1). где the value_type=option

есть ли способ получить это?

, а именно:

$query1=mysql_query(SELECT content_id, COUNT(*) FROM votingapi_vote WHERE value_type = option  AND value = 1 GROUP BY content_id)

$query2=mysql_query(SELECT content_id, COUNT(*) FROM votingapi_vote WHERE value_type = option  AND value = 0 GROUP BY content_id)

я хочу использовать значение счетчика = 1 минус значение счетчика = 0. это нисходящее правило content_id,

Для каждого content_id количество строк со значением = 1 минус количество строк со значением = 0

Ответы [ 2 ]

1 голос
/ 20 мая 2011
SELECT content_id,
       SUM(CASE WHEN value=1 THEN 1 
                WHEN value=0 THEN -1 
                ELSE 0 
           END) AS ContentSum
    FROM votingapi_vote
    WHERE value_type = 'option'
    GROUP BY content_id
    ORDER BY ContentSum DESC
0 голосов
/ 20 мая 2011
SELECT content_id, SUM(CASE value WHEN 1 THEN 1 WHEN 0 THEN -1 ELSE 0 END) valuesum
FROM votingapi_vote
WHERE value_type = 'option'
GROUP BY content_id
ORDER BY valuesum DESC
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...