为什么我的GROUP by后面一定要跟完所有要显示的字段才能通过?可以我只想按一个他段分组呀。附SQL (50分)

  • 主题发起人 主题发起人 孔明.net
  • 开始时间 开始时间

孔明.net

Unregistered / Unconfirmed
GUEST, unregistred user!
不正确:但是我想要的效果,
SELECT text.mun, text.name, text.mun, text.chengbeng, text.jinge
FROM [text]
GROUP BY text.mun

正确:但这是我想要的效果

SELECT text.mun, text.name, text.mun, text.chengbeng, text.jinge
FROM [text]
GROUP BY text.mun, text.name, text.mun, text.chengbeng, text.jinge;

 
你要那么多字段干吗?
 
分组是这样的了, 你如果要另一种办法, 可以只用几个字段, 然后另外要显示的表跟结果来个JOIN, 比原来还复杂,
 
人在昆明:
我想显示这些字段。

KKYY:
那我应该怎么办?你们是怎么做的?
 
多重select 嵌套,不过总觉得你这种需求不合理
SELECT aa.mun, aa.name, aa.chengbeng, aa.jinge
FROM [text] aa,
(
SELECT text.mun
FROM [text]
GROUP BY text.mun
)UU
where // 此处把两个表关联起来,要通过实际情况啦!
 
同上做法一样,
 
因为分组后,查询不知道你想返回其它值的哪一项数据,如果需要返回每个字段最顶的数据

SELECT text.mun, first(text.name), first(text.mun),
first(text.chengbeng), first(text.jinge)
FROM [text]
GROUP BY text.mun
 
接受答案了.
 
后退
顶部