需要帮助sql查询,分组和union / join?

时间:2011-07-06 04:05:46

标签: php mysql database

我有一个包含3列的mysql表:

  • id [int]
  • 名称 [varchar]
  • 时间 [时间戳CURRENT_TIMESTAMP]
  • flag [boolean]

我使用这样的查询按天分组结果:

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

这样做很好,但我真的希望在同一个查询中获得COUNT(DISTINCT name) WHERE FLAG = 0COUNT(DISTINCT name) WHERE FLAG = 1并按天分组。

我该怎么做?

3 个答案:

答案 0 :(得分:0)

然后你必须首先在旗帜上然后在当天应用分组

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

答案 1 :(得分:0)

我想知道你想用存储过程创建结果还是只想选择查询?

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

你可以

  1. 创建2个模板表并插入查询“flag = 1”的结果并将“flag = 0”查询到其中
  2. 在“date”上加入2个模板表。

答案 2 :(得分:0)

你的问题不是很明确,但我认为这可能会有所帮助.. SELECT COUNT(DISTINCT name),DATE(time)as day FROM table GROUP BY day HAVING FLAG = 0且FLAG = 1

或者您可以根据需要操作此查询..