以下表结构示例:
NR1 | NR2 | PRENAME | LASTNAME如果我查询这个表的所有4个字段并将它的前2个字段(NR1,NR2)分组到mysql中,我可以这样做:
SELECT NR1,NR2,PRENAME,LASTNAME FROM tbl GROUP BY NR1,NR1但这在informix中是行不通的。
INFORMIX ERROR: the column (PRENAME) must be in the group by list在google阅读了一些主题之后,它是一个"Informix特性“,所有选定的列都必须在分组列表中。但如果我这样做,结果不是我希望得到的结果。如果我用
DISTINCT相反,GROUP BY的结果类似于false,因为我不能只将DISTINCT函数放在第1和第2列。
那么:我如何建立一个"MYSQL“函数?
发布于 2014-11-24 15:57:21
您的原始语法适用于一个数据库-- MySQL。而且,该数据库说,非聚合列的结果来自于不确定的行。因此,一个等价的查询就是使用MIN()或MAX()
SELECT NR1, NR2, MIN(PRENAME), MIN(LASTNAME)
FROM tbl
GROUP BY NR1, NR1;我的猜测是,您希望从一行中获得任意值。我想把它们连在一起:
SELECT NR1, NR2, MIN(PRENAME || ' ' || LASTNAME)
FROM tbl
GROUP BY NR1, NR1;https://stackoverflow.com/questions/27107685
复制相似问题