17-07-2010, 21:06
|
|
|
חבר מתאריך: 16.05.08
הודעות: 12
|
|
sum() on different DISTINCT rows
אהלן
נתקלתי בבעייה שאני מנסה כבר לפתור כמה ימים ללא הצלחה, אם בא לך להעיף מבט ולראות אם יש לך פיתרון - אודה לך מאוד!
זה ה-QUERY:
SELECT SUM( lead_value ) AS lead_value_sum, count( DISTINCT phone ) AS SUM, referer
FROM leads t1
INNER JOIN leads_people_details t2 ON t1.lead_id = t2.lead_id
INNER JOIN user_to_leads t3 ON t1.lead_id = t3.lead_id
WHERE lead_date
BETWEEN 20100716000000
AND 20100716235959
AND t1.site_id =8
GROUP BY t1.referer
ORDER BY lead_value_sum
LIMIT 0 , 30
המטרה - ש-sum(lead_value) יעשה SUM אך ורק לטלפונים ייחודים. כשאני count(DISTINCT phone) הוא אכן סופר לי כמה טלפונים ייחודים יש, אך אני צריך גם לעשות SUM לערך של הטלפונים הייחודים (lead_value), ללא הצלחה.
חשבתי שאם אני אעשה group by referer, phone זה יעבוד, אך משום מה הוא לא מקבץ ביחד את מי שיש לו אותו טלפון ואותו referer, שזה בעצם מה שאני מחפש...
בברכה,
עדן
|