我查詢的數據庫(Mysql)女巫來自電話系統,我需要讀取有多少個代理(event_parties.agent_id)登錄到不同的組(event_groups.group_id)。超級複雜的mysql查詢
每次的試劑中,以內部事件被輸入表EVENT_ID = 29一個新記錄的組logges,如果註銷EVENT_ID = 30同時在表event_parties出現一個新的條目用相同g_event_id和表示劑的agent_id, 也在表events_groups一個新條目出現與相同g_event_id和GROUP_ID表示第egroup,在輸入/輸出到(表裏面event_groups SAM中劑logges如果代理同時登錄/退出多個組,則e g_event_id對於多個條目可以相同)。
所以我的想法是,我可以通過選擇所有沒有新條目(event_time)且具有相同event_groups.group_id和相同event_parties.agent_id且events.event_id介於29之間的所有記錄和group_id中的記錄和30.
events.event_id = 29表示代理登錄。
events.event_id = 30表示代理註銷。
我有一些嚴重的困難,設計這樣一個MySQL的選擇:(
下面是每個表中的一些示例數據
表:
事件
g_event_id event_id event_time
---------- -------- ----------
7816 31 2016-11-03 09:46:18
7815 30 2016-11-03 09:45:18
7814 31 2016-11-03 09:44:18
7813 29 2016-11-03 09:43:18
7812 30 2016-11-03 09:42:18
7811 29 2016-11-03 09:41:18
7810 31 2016-11-03 09:40:18
7809 29 2016-11-03 09:39:18
7808 31 2016-11-03 09:38:18
7807 7 2016-11-03 09:37:18
7806 29 2016-11-03 09:36:18
7805 30 2016-11-03 09:35:18
7804 30 2016-11-03 09:34:18
7803 29 2016-11-03 09:33:18
7802 29 2016-11-03 09:32:18
表: event_parties
g_event_id agent_id
---------- --------
7816 1
7815 1
7814 1
7813 1
7812 1
7811 1
7810 2
7809 2
7808 2
7807 3
7806 3
7805 3
7804 3
7803 3
7802 3
表: event_groups
g_event_id group_id
---------- --------
7816 1
7815 1
7814 1
7813 1
7813 2
7813 3
7813 4
7812 1
7811 1
7810 1
7809 1
7808 1
7807 1
7806 1
7806 3
7805 4
7804 1
7804 2
7803 4
7802 1
7802 2
從表上面,我想我的select語句的結果是:
group_id agent_id
-------- --------
4 1
3 1
2 1
1 2
1 3
3 3
就是這樣一個查詢的可能,有任何SQL天才出來那裏:)
/克里斯蒂安
理想的情況下,如果你可以做一個SQL小提琴,你會做的奇蹟有一個工作組,我們可以測試反對。 – Fallenreaper
好吧,讓我試試SQL小提琴,將填補,在幾分鐘內回來:) – Kristian