2013-05-02 3 views
0

Я хочу, чтобы получить сумму поля «count» на идентификаторе отдельной строки.SUM поля по линиям DISTINCT

Ниже приведен мой запрос. Как мы можем достичь этого?

SELECT l.sid, l.Title, u.CompanyName, l.activation_date, l.expiration_date, COUNT(s.count), COUNT(DISTINCT a.id) 
      FROM listings l 
      LEFT JOIN statistics s 
      ON s.object_sid = l.sid 
      LEFT JOIN users u 
      ON u.sid = l.user_sid 
      LEFT JOIN applications a 
      ON a.listing_id = l.sid 
      WHERE l.sid = 6276 
      AND s.event = 'viewListing' 
      GROUP BY l.sid 
      LIMIT 10 
+0

Ваш вопрос сбивает с толку меня. Что ты пытаешься сделать? Также покажите свои структуры таблиц. – hims056

+0

Я хочу, чтобы получить SUM() поля «count», удостоверяясь, что идентификатор этого поля счета DISTINCT –

+0

Это для таблицы статистики, кстати, –

ответ

0

Если вам нужна сумма столбца statistics.count на «список» и «приложение», то вам необходимо GROUP BY как «список» и «применение»:

SELECT 
    l.sid, l.Title, l.activation_date, l.expiration_date, 
    u.CompanyName, 
    SUM(s.count), COUNT(a.id) -- <= SUM(s.count) 
FROM listings l 
LEFT JOIN statistics s ON s.object_sid = l.sid 
LEFT JOIN users u ON u.sid = l.user_sid 
LEFT JOIN applications a ON a.listing_id = l.sid 
WHERE l.sid = 6276 
AND s.event = 'viewListing' 
GROUP BY l.sid, a.sid -- <= GROUP BY clause modified 
+0

Спасибо за это, но этот путь я не получаю исправить заявку «a». Как мы можем это решить? –

+0

@Jae Что такое «правильно»? Просьба привести пример (пример данных, ожидаемый результат). – RandomSeed

Смежные вопросы