一个SQL语句,帮我检查一下错误,谢谢!!

wwgddx 2007-02-05 05:56:04

SELECT Gateway, Company,COUNT (*) AS SendNum, COUNT(DISTINCT Mobile) AS UserNum FROM Vi_Msg_Count GROUP BY Gateway, Company where Convert(varchar(10),RecvTime,121) = '2007-02-04'

帮我看看有没有什么语法错误啊? 在运行的时候提示FROM附近有错误!!谢谢啊!@
...全文
360 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
wwgddx 2007-02-07
  • 打赏
  • 举报
回复
SELECT Gateway, Company,COUNT (*) AS SendNum,
COUNT(DISTINCT Mobile) AS UserNum FROM Vi_Msg_Count GROUP BY Gateway,
Company having Convert(varchar(10),RecvTime,121) = '2007-02-04'
ORDER BY Gateway DESC,Company

不知道这样可不可以?
ORDER BY 子句可包含添加的字段。首先用 ORDER BY之后列举的第一个字段对记录排序。然后对此字段中等值的记录用第二字段列举的值进行排序,依此类推。
wwgddx 2007-02-07
  • 打赏
  • 举报
回复
SELECT Gateway, Company,COUNT (*) AS SendNum, COUNT(DISTINCT Mobile) AS UserNum FROM Vi_Msg_Count where Convert(varchar(10),RecvTime,121) = '2007-02-05' GROUP BY Gateway, Company ORDER BY Company DESC
想统计出某个地区的某两天的每天信息总量,按日期进行排序该如何更改呢?
wwgddx 2007-02-06
  • 打赏
  • 举报
回复
SELECT Gateway, Company,
COUNT (*) AS SendNum,
COUNT(DISTINCT Mobile) AS UserNum
FROM Vi_Msg_Count
where Convert(varchar(10),RecvTime,121) = '2007-02-04'
GROUP BY Gateway, Company
谢谢大家的帮忙,关于这条语句,我想再问个问题,这条语句查出的数据,有相同字段名称的不同数值我想让它挨着排序,该使用什么语句。有朋友能帮忙解说一下吗?谢谢
kourr2004 2007-02-06
  • 打赏
  • 举报
回复
SELECT Gateway, Company,COUNT (*) AS SendNum, COUNT(DISTINCT Mobile) AS UserNum FROM Vi_Msg_Count GROUP BY Gateway, Company where Convert(varchar(10),RecvTime,121) = '2007-02-04'
--呵呵,上面都说写过了,就不写了,楼主主要是把where 位置放错了,
where Convert(varchar(10),RecvTime,121) = '2007-02-04'
应该放到GROUP BY Gateway, Company前面,GROUP BY Gateway, Company 后面是用having
中国风 2007-02-06
  • 打赏
  • 举报
回复
where Convert(varchar(10),RecvTime,121) = '2007-02-04'
要放在group by 前面
marco08 2007-02-06
  • 打赏
  • 举报
回复
Convert(varchar(10),RecvTime,121)

--
日期類型轉換成字符型
dawugui 2007-02-06
  • 打赏
  • 举报
回复
SELECT Gateway, Company,COUNT (*) AS SendNum, COUNT(DISTINCT Mobile) AS UserNum
FROM Vi_Msg_Count
where Convert(varchar(10),RecvTime,120) = '2007-02-04'
GROUP BY Gateway, Company
marco08 2007-02-06
  • 打赏
  • 举报
回复
AS 是給結果取個別名
wwgddx 2007-02-06
  • 打赏
  • 举报
回复
我还想知道这个语句里面 AS的作用是什么? 以前没用过AS

还有Convert(varchar(10),RecvTime,121) = '2007-02-04' 这个的意思是什么,转换类型?? 121是什么?

谢谢了
hosts 2007-02-06
  • 打赏
  • 举报
回复
SELECT Gateway, Company,COUNT (*) AS SendNum,
COUNT(DISTINCT Mobile) AS UserNum FROM Vi_Msg_Count GROUP BY Gateway,
Company having Convert(varchar(10),RecvTime,121) = '2007-02-04'
萧霖 2007-02-06
  • 打赏
  • 举报
回复
用order by
marco08 2007-02-05
  • 打赏
  • 举报
回复
SELECT Gateway, Company,COUNT (*) AS SendNum, COUNT(DISTINCT Mobile) AS UserNum
FROM Vi_Msg_Count
where Convert(varchar(10),RecvTime,121) = '2007-02-04'
GROUP BY Gateway, Company
wwgddx 2007-02-05
  • 打赏
  • 举报
回复
好的,谢谢了,我明天试一下,如果还有问题再来,呵呵!
云中客 2007-02-05
  • 打赏
  • 举报
回复
好像不是FROM处有错误,而是WHERE处的错误,这样来写:
SELECT Gateway, Company,COUNT (*) AS SendNum, COUNT(DISTINCT Mobile) AS UserNum FROM Vi_Msg_Count where Convert(varchar(10),RecvTime,121) = '2007-02-04' GROUP BY Gateway, Company
不能把WHERE语句写到GROUP BY的后面
leo_lesley 2007-02-05
  • 打赏
  • 举报
回复
where语句 不能在 group by 后面的
leo_lesley 2007-02-05
  • 打赏
  • 举报
回复

SELECT Gateway, Company,
COUNT (*) AS SendNum,
COUNT(DISTINCT Mobile) AS UserNum
FROM Vi_Msg_Count
where Convert(varchar(10),RecvTime,121) = '2007-02-04'
GROUP BY Gateway, Company
hyrongg 2007-02-05
  • 打赏
  • 举报
回复
SELECT Gateway, Company,COUNT (*) AS SendNum,
COUNT(DISTINCT Mobile) AS UserNum
FROM Vi_Msg_Count
GROUP BY Gateway, Company
Having Convert(varchar(10),RecvTime,121) = '2007-02-04'

34,593

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧