fork download
  1. create table Test as
  2. select '2010-12-01 00:01:00' 日時, 1 項目
  3. union all select '2010-12-01 00:01:00', 1
  4. union all select '2010-12-01 00:02:00', 1
  5. union all select '2010-12-01 00:03:00', 2
  6. union all select '2010-12-01 00:04:00', 2
  7. union all select '2010-12-01 00:05:00', 2
  8. union all select '2010-12-01 00:06:00', 3
  9. union all select '2010-12-01 00:07:00', 3
  10. union all select '2010-12-01 00:08:00', 0
  11. union all select '2010-12-01 00:09:00', 0
  12. union all select '2010-12-01 01:00:00', 4
  13. union all select '2010-12-01 01:01:00', 4
  14. union all select '2010-12-01 01:02:00', 5;
Success #stdin #stdout 0s 3008KB
stdin
SELECT A.時間,A.項目,A.項目件数,A.最新日時
FROM (
  SELECT SUBSTR(日時, 12, 2) AS 時間, 項目,COUNT(項目) AS 項目件数,MAX(日時) AS 最新日時 
  FROM Test 
  WHERE 日時 BETWEEN '2010-12-01 00:00:00' AND '2010-12-01 23:59:59' 
  GROUP BY SUBSTR(日時, 12, 2),項目 
  ) AS A
  INNER JOIN (
    SELECT 時間,MAX(項目件数) AS 最大項目件数
    FROM (
      SELECT SUBSTR(日時, 12, 2) AS 時間,COUNT(項目) AS 項目件数
      FROM Test
      GROUP BY SUBSTR(日時, 12, 2),項目
      )
    GROUP BY 時間
    ) AS B
  ON (A.時間 = B.時間 AND A.項目件数 = B.最大項目件数)
  INNER JOIN (
    SELECT 時間,MAX(最新日時) AS 最新日時
    FROM (
      SELECT SUBSTR(日時, 12, 2) AS 時間,COUNT(項目) AS 項目件数,MAX(日時) AS 最新日時
      FROM Test
      GROUP BY SUBSTR(日時, 12, 2),項目
      )
    GROUP BY 時間,項目件数) AS C
  ON (A.時間 = C.時間 AND A.最新日時 = C.最新日時);
stdout
00|2|3|2010-12-01 00:05:00
01|4|2|2010-12-01 01:01:00