עזרה עם QUERY מסויים - תכנות - HWzone פורומים
עבור לתוכן
  • צור חשבון

עזרה עם QUERY מסויים


idofr

Recommended Posts

היי,

מכיוון שאני לא חזק מידי פעם MYSQL אני צריך עזרה עםquery מסוים.

מה שיש לי זה טבלה שאחד השדות בה ניקרא groupId. אם יש קבוצה בערך יהיה הID של הקבוצה (בטבלה אחרת כמובן) אם אין בקבוצה הערך יהיה 0.

מה שאני רוצה לעשות זה Select לכל הטבלה, אבל שיתן לי קצת תוצאות שהGroupId שלהן הוא או 0 או distinct

שם הטבלה הוא share_log

תודה

קישור לתוכן
שתף באתרים אחרים

מה שאני רוצה לעשות זה Select לכל הטבלה, אבל שיתן לי קצת תוצאות שהGroupId שלהן הוא או 0 או distinct

מה? הניסוח הזה לא כל כך ברור. בכל מקרה אתה יכול להוסיף לטבלת הקבוצות רשומה פיקטיבית עם id=0.

קישור לתוכן
שתף באתרים אחרים

הוא רוצה לעשות שאילתת סלקט על הטבלה share_log. עכשיו הוא רוצה שזה ישלוף לו את כל השורות שיש להם שדה GroupId שהוא 0, ושורה אחת מכל GroupId שהוא שונה מ-0.

למשל אם יש 3 שורות עם GroupId שהוא 0, ו-2 עם GroupId של 1 ועוד שורה עם GroupId של 5.

אז זה יוציא לו את כל השורות עם ה-0, שורה אחת שה-GroupId הוא 1, ואת השורה עם GroupId שיש לה 5.

קישור לתוכן
שתף באתרים אחרים

  • 4 שבועות מאוחר יותר...

סורי, שחכתי לכתוב את התשובה:

 

// 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");

מקווה שזה יעזור למישהו מתישהוא ותודה על העזרה

קישור לתוכן
שתף באתרים אחרים

ארכיון

דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.

×
  • צור חדש...