1
分配常數有一個表MySQL查詢計數和基於範圍
成員:
ID - 的會員ID,
dt_activate - 成員的加盟UNIX日期時間,
id_inviter - 會員ID是誰做邀請現任成員(0如果成員自己加入)
試圖編寫一個Select將返回以下多行結果,其中每行將包含:
(1)id - member id;
(2)cnt - MEMBERS表中的行數,其中該「id」出現在id_inviter字段中,同時dt_activate應該在常量dt_start和dt_end之間;如果cnt在10-19之間,則爲「imageA.gif」,如果在20-29之間爲「imageB.gif」,如果大於29,則爲「imageC.gif」;
(4)獎勵 - 恆X當CNT在10-19之間,Y如果20-29,Z如果大於29
不幸的是我的知識不讓我走過去的簡單的選擇等之間:
SELECT id_inviter, sum(1) AS cnt
FROM members
WHERE dt_activate>=$dt_start AND dt_activate<=$dt_end
GROUP BY id_inviter
HAVING cnt>=10
MEMBERS表的估計記錄數可能在10-50k之間。
請幫忙達成上述結果,謝謝。
感謝您的回答,您有什麼看法是否COUNT(*)的multipple出現不會顯着與10-50k記錄減緩選擇的執行在桌子上?謝謝 – Maris
50k仍然是一張中等的桌子。只要確保你有一個索引id_inviter –
得到它! :) 謝謝 – Maris