比较同一个表上的时间并列出mysql中的不常见时间

时间:2012-09-13 06:32:06

标签: mysql sql

我被困在一个查询中,以比较同一桌子上的不同时间,并列出常见时间和所有不常见时间之一。

        ID ID_STORE Opentime       Closetime
---------- -------- ---------- -------------------------------
         1        6 09:30:00       18:00:00
         2        6 09:30:00       18:00:00
         3        6 09:30:00       18:00:00
         4        6 09:30:00       18:00:00
         5        6 09:30:00       16:00:00
         6        6 10:30:00       15:00:00

Like在此表中,输出应该类似于

        ID ID_STORE Opentime       Closetime
---------- -------- ---------- -------------------------------
         4        6 09:30:00       18:00:00
         5        6 09:30:00       16:00:00
         6        6 10:30:00       15:00:00

3 个答案:

答案 0 :(得分:3)

正如我观察到的那样,您在每个独特的操作和关闭时间以及每个商店都获得了最新的ID

SELECT MAX(ID) as ID,
        ID_Store,
        OpenTime,
        CloseTime
FROM tableName
GROUP BY ID_Store,
        OpenTime,
        CloseTime

答案 1 :(得分:2)

从您提供的示例中,我认为您需要的只是GROUP BY,并决定您在ID上使用的聚合函数。

我已使用MAX,因为它会根据您的示例返回结果。

SELECT MAX(ID), OpenTime, CloseTime
FROM   YourTable
GROUP BY
       OpenTime, CloseTime

您可以阅读

答案 2 :(得分:2)

您需要使用GROUP BY子句。对于ID,您可以根据自己的要求使用MAX()MIN()等汇总功能。

SELECT MAX(ID) AS ID, ID_STORE, Opentime,  Closetime 
  FROM myTable 
  GROUP BY ID_STORE, Opentime, Closetime