שאילתא של כניסות חדשות
-
@dovid נפלא
עכשיו אני מנסה להגביל את זה לפי תנאי מסוים, שיהיה תואם לשם מערכת (יש לי כמה מערכות על אותה מרכזיה, ואני רוצה לדעת למערכת הספציפית הזו כמה חדשים נכנסו.
ויש דבר מעניין. אם אני מגביל עם WHERE יוצא תוצאה אחת, ואם אני מגביל בHAVING יוצא משהו אחר.
אני מבין שהחישוב כנראה מתבצע בצורה אחרת, אבל איך אפשר לדעת מה התוצאה האמיתיתSELECT * FROM asteriskcdrdb.cdr GROUP BY cdr.src HAVING MIN(cdr.calldate) >= CURDATE() AND dcontext='XXX' SELECT * FROM asteriskcdrdb.cdr WHERE dcontext='XXX' GROUP BY cdr.src HAVING MIN(cdr.calldate) >= CURDATE()
-
הייתי צריך לשלב עוד שתי שאילתות.
אני צריך את רשימת המשתמשים, עם סך ההתקשרויות שלהם, ואורך הכולל של השיחות שלהם.
עשיתי count(src) מניח שככה זה צריך להיות, נכון?SELECT src, count(src), sum(billsec) FROM asteriskcdrdb.cdr WHERE dcontext='telecall' GROUP BY cdr.src HAVING MIN(cdr.calldate) >= CURDATE()
-
@dovid נפלתי עליך...
אני משכלל את הפקודה לאט לאט, ועכשיו רציתי לשלב את שמות המתקשרים
יש לי טבלא בשם NAMES, עם שתי שדות, name וphone.יש שם מאגר גדול של מספרים, עם השם שלהם.
אני רוצה לעשות שאילתא של המתקשרים החדשים, כנ"ל, עם השם שלהם.
עשיתי INNER JOIN, וזה תוקע את המעבד, מקפיץ את הCPU ולא מחזיר כלום
כנראה טעיתי, אשמח שתכוון אותיSELECT cdr.src, NAMES.name FROM cdr INNER JOIN NAMES ON NAMES.phone=cdr.src GROUP BY cdr.src HAVING MIN(cdr.calldate) >= CURDATE();
תודה רבה