Contents

SQL中显示所有相同的记录

select * from t_cgi
	 WHERE (cHost,cUri) in (
		select cHost,cUri from t_cgi GROUP BY cHost,cUri HAVING COUNT(cHash)> 1
	) ORDER BY CONCAT(cHost,cUri)

因为需要统计,所以必须要用GROUP BY, 然后用HAVING COUNT进行判断数据记录数, 这里有一个问题,就是因为是两个字段,所以在获取时候的WHERE IN需要用括号括起来. 附录:表结构

CREATE TABLE t_cgi(
  cHash CHAR(32) UNIQUE,
  cHost VARCHAR(32) NOT NULL ,
  cUri VARCHAR(64) NOT NULL DEFAULT '/',
  cRaw TEXT ,
  cTime TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (cHash)
)
标签// ,
更多
下一篇// 关于我们