2012-04-14 39 views
0

WordPress的數據庫結構看起來像這樣:獲取用戶的數量與在WordPress的DB一定usermeta值

  • wp_users(ID,user_registered等)
  • wp_usermeta(USER_ID,meta_key ,meta_value等)

wp_users.ID對應於wp_usermeta.user_id

我想要選擇按DATE(wp_users.user_registered)分組的所有用戶的計數以及對應於元鍵'sex'的元值,它是1或2.結果應該由兩列組成,因爲有獨特的日期。第一欄應該是具有meta值1,第二列的用戶數量我沒有興趣在WP具體構成具有用戶數量元值2

的計數的計數,我想要做的這與一個單一的SQL查詢。

我會後我嘗試它是否足夠好,不幸的是我沒有一個好。真的很感激任何幫助。

回答

2

試試這個:

select sum(um.meta_value = '1') Sex1, sum(um.meta_value = '2') Sex2 
from wp_usermeta um 
join wp_users u on u.id = um.user_id 
where um.meta_key = 'sex' 
group by date(u.user_registered) 

你說:

然後結果應包括兩列和多行的,因爲有獨特的日期。

問題在於你不知道每行所指的日期。你可以添加date(u.user_registered)select聲明看得出來。

+0

我不能做這項工作。你是正確的添加日期(u.user_registered),我會需要的。日期看起來不錯,但其他兩列對於所有行都是零。我對um.meta_key = 1,2有一些擔憂,因爲該字段是varchar,但添加撇號無助於此。 – 2012-04-14 16:55:43

+0

@Calle首先,我忘記通過'sex'過濾,其次,我用'meta_key = 1'代替'meta_value = 1'(更新應答)。現在試試吧。 – 2012-04-14 16:57:43

+0

啊!在選擇部分中將meta_key更改爲meta_value使其工作。謝謝。 – 2012-04-14 16:58:35

相關問題