条件组按CASE声明

时间:2010-12-27 23:27:08

标签: sql mysql conditional case

考虑表

 count | lat | lng | Date
 ------+-----+-----+------
   1   | 10  | 21  | 01/12
   1   | 10  | 21  | 01/12
   1   | 20  | 25  | 02/12
   1   | 30  | 31  | 02/12
   1   | 30  | 31  | 02/12
   1   | 10  | 21  | 03/12

上表包含按日期划分的纬度/经度。我想将lat / lng分组到日期

e.g。对于日期01/12,对于lat / lng 10/21,计数将变为2,然后对于下一记录(第3),它将为1,对于第4和第4 5日,它将在02/12日成为2。

 count | lat | lng | Date
 ------+-----+-----+------
   2   | 10  | 21  | 01/12
   1   | 20  | 25  | 02/12
   2   | 30  | 31  | 02/12
   1   | 10  | 21  | 03/12

我既不能按'日期'分组,也不能按'lat / lng'组合分组。只有一个条件组by语句可以解决它(也许)否则我必须划分&征服!任何人都有这种说法的解决方案吗?

使用MySQL 5

1 个答案:

答案 0 :(得分:3)

您必须提供信息 - 涉及的表格(包括列数据类型) - 让我们知道以下内容对您不起作用的原因:

  SELECT COUNT(*) AS count,
         t.lat,
         t.lng,
         t.date
    FROM YOUR_TABLE t
GROUP BY t.lat, t.lng, t.date