转——查询同字段相同记录大于或等于1的记录,并每一类只显示一个的查询

查询同字段相同记录大于或等于1的记录,并每一类只显示一个的查询 group by having

 

 

SELECT phone,COUNT(*) FROM UID GROUP BY phone HAVING COUNT(*)>1

--或者

SELECT type AS type FROM Tin_Product GROUP BY type HAVING (COUNT(*) >= 1)

 

 SQL查询两个字段相同记录或者查询连个字段不同的记录

 

 

比如有数据库 tb 字段 name dw sex id 我要查询 字段 name 与字段 dw 都相同的所有记录

SELECT name,dw FROM tb GROUP BY name,dw HAVING COUNT(name)>=2 
AND dw IN
(SELECT dw FROM tb GROUP BY dw HAVING COUNT(dw)>=2);

 

 一条单表统计报表的SQL语句(group by 两个字段)

SELECT

日期  设备编号   MIN(币种)   SUM(交易比数)  SUM(收取金额总计)  SUM(支出金额总计)  SUM(交易比数)  SUM(收额总计)    SUM(支额总计)

FROM  你的表

GROUP BY 设备编号, 日期

 

SQL HAVING 子句

在SQL 中增加 HAVING 子句原因是,WHERE 关键字无法与合计函数一起使用。

所以用HAVING 与合计函数一起使用。

 

一个真实表和一个查询结果表关联

SELECT *
FROM t_dvrstate td inner JOIN 
(
   SELECT SUM(h.history_value) AS sumhv,h.points 
   FROM t_history_data h
   WHERE h.history_time>='2013-07-01 17:01:54.000'
   AND h.history_time<='2013-09-29 10:00:00.000'
   AND h.species='二化螟'
   GROUP BY h.points
) AS thv ON td.points= thv.points

 

posted on 2013-05-15 17:24  办幼儿园+国家电网1亿  阅读(327)  评论(0编辑  收藏  举报

返回顶部