我在表格,列ID和列日期
中有数据id || date
1 || 2013-04-18 15:12:32.000
2 || 2013-04-18 15:13:02.000
3 || 2013-05-01 19:09:28.000
4 || 2013-05-01 19:09:46.000
5 || 2013-05-01 19:10:01.000
6 || 2013-05-01 19:10:17.000
7 || 2013-05-02 08:34:54.000
8 || 2013-05-02 08:35:12.000
9 || 2013-05-18 15:12:32.000
10 || 2013-05-18 15:13:02.000
查询如何只显示一天有计数?或一行有计数。结果是。
|| date ||
1 || 2013-04-18 15:12:32.000 || 2
2 || 2013-05-01 19:09:28.000 || 4
3 || 2013-05-02 08:34:54.000 || 2
4 || 2013-05-18 15:13:02.000 || 2
我尝试在mysql中运行,有我的查询。
SELECT id, GROUP_CONCAT( date ) AS date, COUNT( id ) AS count
FROM petak_tetap
GROUP BY DATE( date )
但是当我尝试sql server 2008时,这个查询错误
这是错误消息
Msg 195, Level 15, State 10, Line 1
'GROUP_CONCAT' is not a recognized built-in function name.
如何解决这个问题?
答案 0 :(得分:3)
首先,SQL Server中没有GROUP_CONCAT
函数,但更重要的是,在您的情况下,您不需要此函数提供的功能。使用汇总函数MIN()
或MAX()
为每个组获取一个日期时间值。
SELECT ROW_NUMBER () OVER (ORDER BY [date]) No, [date], [count]
FROM
(SELECT MIN([date]) 'date',
COUNT(*) 'count'
FROM petak_tetap
GROUP BY CAST([date] AS DATE)
) t
输出:
| NO | DATE | COUNT |
---------------------------------------------
| 1 | April, 18 2013 15:12:32+0000 | 2 |
| 2 | May, 01 2013 19:09:28+0000 | 4 |
| 3 | May, 02 2013 08:34:54+0000 | 2 |
| 4 | May, 18 2013 15:12:32+0000 | 2 |
这是 SQLFiddle 演示
更新在sqlite中
SELECT
(
SELECT COUNT(*)
FROM
( SELECT 1
FROM petak_tetap
WHERE id <= t.id
GROUP BY DATE(date)
) q
) No, date, count
FROM
(
SELECT id, MIN(date) date, COUNT(*) count
FROM petak_tetap
GROUP BY DATE(date)
) t
这是 SQLFiddle 演示
答案 1 :(得分:0)
试试这个......
SELECT ROW_NUMBER () OVER (ORDER BY DATE) SNo, DATE, COUNT(DATE)AS Count FROM Table
GROUP BY DATE
答案 2 :(得分:0)
试试这个
select p1.date,
(select count(p2.date) from petak_tetap p2 where p2.date=p1.date)
from petak_tetap p1 group by p1.date
答案 3 :(得分:0)
仅在一个查询中尝试使用完整输出的这一个..
SELECT ROW_NUMBER() OVER(Order BY Min(IDate)) srno, Min(IDate) idate, COUNT(*) Cnt
FROM grpcontact
GROUP BY CONVERT(Varchar,IDate,101)
OutPut &gt;&gt;&gt;
------------------------------------
srno | idate | Cnt
------------------------------------
1 | 2013-04-18 15:12:32.000 | 2
2 | 2013-05-01 19:09:28.000 | 4
3 | 2013-05-02 08:34:54.000 | 2
4 | 2013-05-18 15:12:32.000 | 2
------------------------------------