2012-02-13 51 views
0

我有我的數據庫表中的結果如下:PHP/MySQL的 - 在查詢中的計數項目

enter image description here

查詢:

SELECT 
service_titles.user_id, service_titles.slide_id, service_titles.name as title_name ,service_names.name as service_name 
FROM service_names 
INNER JOIN service_titles ON service_names.title_id = service_titles.id 

所以需要採取什麼措施是:

  • 如果用戶有2個獨特的服務標題, ÑSERVICE_NAMES該標題的最大數目將是
  • 如果用戶具有1頁服務的標題,SERVICE_NAMES該標題的最大數目將是

我將使用PHP對於所有的編碼,但我想知道如何去做這件事。我需要一種方法來計算該用戶和幻燈片有多少個唯一的service_titles,然後計算每個標題有多少個服務項目。

感謝您的幫助!

回答

1
SELECT COUNT(DISTINCT service_titles.name) 
FROM service_names 
INNER JOIN service_titles ON service_names.title_id = service_titles.id 
GROUP BY service_titles.user_id, service_titles.slide_id 

這會讓你不同title_names每個USER_ID/slide_id連擊數。

SELECT COUNT(DISTINCT service_names.name) 
FROM service_names 
INNER JOIN service_titles ON service_names.title_id = service_titles.id 
GROUP BY service_titles.user_id, service_titles.slide_id 

...這就是相同的不同service_names的數量。如果你想同時在一個查詢中,你可以把兩個COUNT放在一起,因爲無論你使用的是相同的GROUP BY

0

要指望你能有多少不同的頭銜嘗試:

SELECT user_id, COUNT(DISTINCT name) 
FROM service_titles 
GROUP BY user_id