2011-07-06 43 views
0

我有3列的MySQL表:需要幫助與SQL查詢,分組和聯合/加入?

  • ID [INT]
  • 名稱 [VARCHAR]
  • 時間 [時間戳CURRENT_TIMESTAMP]
  • 標誌 [布爾]

我使用這樣的查詢組的結果白天:

SELECT COUNT(DISTINCT name), DATE(time) as day FROM `table` GROUP BY day 

這工作正常,但我真的想COUNT(DISTINCT name) WHERE FLAG = 0COUNT(DISTINCT name) WHERE FLAG = 1在白天相同的查詢,並將它們組合。

我該怎麼做?

回答

0

然後,你必須首先申請上進行分組標誌,那麼在

SELECT COUNT(DISTINCT name), DATE(time) as day FROM `table` GROUP BY flag,day 
+0

我想你還想選擇標誌字段,所以你可以看到哪些計數屬於該字段。 – Eljakim

0

我想知道,你想用存儲過程或只選擇查詢生成結果?

"date" 
"count number of flag = 1" 
"count number of flag =0" 

可以

  1. 創建2個模板表並插入來自查詢「標誌= 1」的查詢「標誌= 0」,結果到他們
  2. 上的「日期」加入2個模板表。
0

你的問題不是很清楚,但我認爲這可能幫助.. SELECT COUNT(DISTINCT名),DATE(時間)日從table GROUP BY日HAVING FLAG = 0和FLAG = 1

或者你可以操縱這個查詢,因爲你想分組..