פורסם 2012 בספטמבר 113 שנים היי,מכיוון שאני לא חזק מידי פעם MYSQL אני צריך עזרה עםquery מסוים.מה שיש לי זה טבלה שאחד השדות בה ניקרא groupId. אם יש קבוצה בערך יהיה הID של הקבוצה (בטבלה אחרת כמובן) אם אין בקבוצה הערך יהיה 0.מה שאני רוצה לעשות זה Select לכל הטבלה, אבל שיתן לי קצת תוצאות שהGroupId שלהן הוא או 0 או distinctשם הטבלה הוא share_logתודה
פורסם 2012 בספטמבר 113 שנים מה שאני רוצה לעשות זה Select לכל הטבלה, אבל שיתן לי קצת תוצאות שהGroupId שלהן הוא או 0 או distinctמה? הניסוח הזה לא כל כך ברור. בכל מקרה אתה יכול להוסיף לטבלת הקבוצות רשומה פיקטיבית עם id=0.
פורסם 2012 בספטמבר 213 שנים הוא רוצה לעשות שאילתת סלקט על הטבלה share_log. עכשיו הוא רוצה שזה ישלוף לו את כל השורות שיש להם שדה GroupId שהוא 0, ושורה אחת מכל GroupId שהוא שונה מ-0.למשל אם יש 3 שורות עם GroupId שהוא 0, ו-2 עם GroupId של 1 ועוד שורה עם GroupId של 5.אז זה יוציא לו את כל השורות עם ה-0, שורה אחת שה-GroupId הוא 1, ואת השורה עם GroupId שיש לה 5.
פורסם 2012 בספטמבר 213 שנים אז אפשר לעשות את זה עם שתי שאילתות נפרדות (אחת ששולפת רשומות עם GroupId=0 ואחת ששולפת את שאר הרשומות, אבל distinct) ולחבר אותן עם Union.
פורסם 2012 בספטמבר 2613 שנים מחבר סורי, שחכתי לכתוב את התשובה: // kill the temp table $this->db->query( "DROP TABLE IF EXISTS `{$this->session->userdata('userid')}temp`" ); $this->db->query( "create temporary table {$this->session->userdata('userid')}temp as select * from share_log where to_groupId != 0 and from_id = {$this->session->userdata('userid')} group by round(UNIX_TIMESTAMP(time)/5), link order by time desc limit 3" ); $this->db->query( "insert into {$this->session->userdata('userid')}temp select * from share_log where to_groupId = 0 and from_id = {$this->session->userdata('userid')} order by time desc limit 3" ); $q = $this->db ->where('from_id', $this->session->userdata('userid')) ->where('link !=', '') ->order_by('time', 'desc') ->limit(3) ->get("{$this->session->userdata('userid')}temp");מקווה שזה יעזור למישהו מתישהוא ותודה על העזרה
ארכיון
דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.