2011-06-10 30 views
0

我有以下MySQL數據庫表結構:userd_id的MySQL結果?

name  | product   | client_id 
JOHN BROWN | test1.com  | 122 
JANE SMITH | hosting1  | 122 
DAN JOHNSON | test2.com | 355 

如何顯示在PHP的MySQL查詢結果,以獲得與CLIENT_ID分組結果表。重點是我需要通過client_id發送郵件的詳細信息,因此在當前示例中,我應該在這兩個客戶端之前獲得兩個分開的表。

+1

請告訴我們設置要產生結果。 – Asaph 2011-06-10 06:01:50

+1

這個問題很模糊我的朋友。 – stefgosselin 2011-06-10 06:04:42

+0

很清楚,他需要一套記錄。每個客戶端ID包含一行中的所有產品和名稱對。 – 2011-06-10 06:19:07

回答

-1
select client_id, group_concat(product) 
from my_table 
group by 1; 

會產生輸出,如:

122, "test1.com,hosting1" 
355, "test2.com" 

+0

我已經嘗試過,但我需要這樣的結果: 122,「hosting1」 122,「test1.com」 ------------------- 355 ,「test2.com」 – 2011-06-10 06:09:01

+0

我已經嘗試過,但我需要這樣的結果: 122,「hosting1」 122,「test1.com」 --------------- ---- 355,「test2.com」 – 2011-06-10 06:11:49

+0

咦?這對我有用 - 我在發佈之前對它進行了測試。你是什​​麼版本的MySQL?另外,你究竟想要什麼? – Bohemian 2011-06-10 06:31:43

0

假設你的表稱爲註冊等

SELECT client_id, 
GROUP_CONCAT(DISTINCT name_product_email 
ORDER BY name_product_email DESC SEPARATOR ',') 
FROM (
    SELECT CONCAT(name, ' has this product: ', product) as name_product_email, client_id FROM signups) 
GROUP BY client_id; 
+0

我正在使用PHP腳本,它會告知客戶有關過期產品(託管和域名)。每個客戶端都有例如:一個域和一個託管計劃,並且這些記錄具有相同的client_id。 PHP腳本將通過所有clients_id,如果日期子句,如果完成MySQL查詢應獲得所有產品client_id併發送給我與每個client_id的PHP郵件()函數。在這個例子中,我應該收到兩封電子郵件,第一封郵件用於122客戶端產品,第二封郵件用於355客戶端產品。因此我需要以某種方式將這些結果分組。 – 2011-06-10 06:40:00

+0

編輯它,所以你有查詢結果中的電子郵件措辭。 – 2011-06-10 06:53:56