COUNT只返回其中一个

时间:2016-04-05 20:06:22

标签: php sql

这是我的疑问:

"SELECT * FROM data GROUP BY id_s HAVING ( COUNT( id_s ) > 1 )"

我有10x2个共享id_s的条目,而且这个查询只返回那些共享id_s的条目,我该怎么办?

1 个答案:

答案 0 :(得分:1)

如果您只需要id_s,那么请使用内部选择。要获得完整记录

SELECT * FROM data 
where id_s in
(
  SELECT id_s 
  FROM data 
  GROUP BY id_s 
  HAVING COUNT(id_s) > 1
) 

您的查询仅适用于MySQL。这个“功能”非常误导,并且应该在其他数据库引擎中引发错误。如果您进行分组,则只选择您分组的列或使用sum(),count(),...等函数聚合其他列。