繁体   English   中英

group_concat以及如何在sqlite中使用行号

[英]group_concat and how to use row number in sqlite

我在表,列ID和列日期中有数据

id  || datetime
1   || 2013-05-24 19:23:16
2   || 2013-05-28 19:24:20
3   || 2013-05-28 19:25:05  
4   || 2013-05-30 19:25:39  
5   || 2013-05-30 19:26:05  

如何查询只显示一天的计数?或一行显示的计数。 结果是。

    || datetime            || count
1   || 2013-05-24 19:23:16 ||  1
2   || 2013-05-28 19:24:20 ||  2
3   || 2013-05-30 19:25:39 ||  2

我尝试在mysql中运行,但是有我的查询。

SELECT id, GROUP_CONCAT( datetime ) AS date, COUNT( id ) AS count
FROM dataPetak
GROUP BY DATE( datetime )

但是当我使用sqlite时,结果是在一串给我

5 || 2013-05-24 19:23:16,2013-05-28 19:24:20,2013-05-28 19:25:05,2013-05-30 19:25:39,2013-05-30 19:26:05 || 5

如何解决?

帮我

编辑

当我使用查询

SELECT [datetime], [count] FROM (SELECT MAX([datetime]) 'datetime', COUN
T(*) 'count' FROM dataPetak GROUP BY CAST ([datetime] AS DATE)) t;

结果是

       2013-05-24 19:23:16 ||  1
       2013-05-28 19:24:20 ||  2
       2013-05-30 19:25:39 ||  2

如何在sqlite中使用行号?

所以结果是

1   || 2013-05-24 19:23:16 ||  1
2   || 2013-05-28 19:24:20 ||  2
3   || 2013-05-30 19:25:39 ||  2

当我尝试此查询时,

SELECT ROW_NUMBER () OVER (ORDER BY [datetime]) No, [datetime], [count] FROM (SELECT MAX([datetime]) 'datetime', COUN
T(*) 'count' FROM dataPetak GROUP BY CAST ([datetime] AS DATE)) t;

显示错误

Error: near "(": syntax error

如何解决?

在您的情况下,不需要GROUP_CONCAT()功能。 您在问题中的最后一个查询是针对SQL Server的。 Sqlite没有ROW_NUMBER()

话虽如此,尝试

SELECT 
 (
   SELECT COUNT(*) 
     FROM 
   ( SELECT 1
       FROM dataPetak
      WHERE id <= t.id
      GROUP BY DATE(datetime)
   ) q
 ) No, datetime, count
  FROM 
 (
   SELECT id, MIN(datetime) datetime, COUNT(*) count
     FROM dataPetak
    GROUP BY DATE(datetime)   
 ) t

输出:

| No |            datetime | count |
------------------------------------
|  1 | 2013-05-24 19:23:16 |     1 |
|  2 | 2013-05-28 19:24:20 |     2 |
|  3 | 2013-05-30 19:25:39 |     2 |

这是SQLFiddle演示

试试这个查询

select date(datetime) as date,  count(*) as count from tbl 

group by date(datetime)

小提琴

|       date | count |
----------------------
| 2013-05-24 |     1 |
| 2013-05-28 |     2 |
| 2013-05-30 |     2 |

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM