是否可以在mysql UDF中使用DISTINCT?

时间:2012-11-10 03:28:29

标签: mysql distinct user-defined-functions

mysql如何使用自己的聚合函数实现DISTINCT关键字?它可以以相同的方式在UDF中使用吗?

SELECT MY_UDF(DISTINCT value) FROM table

如果是这样,MySQL在将一组行传递给UDF之前是否应用了DISTINCT,或者UDF本身是否必须处理它? UDF采用多个参数会发生什么?它是否区分了整个输入元组?

2 个答案:

答案 0 :(得分:0)

是的,它可以在UDF中使用,方法与在以下语句中使用的方式相同。

CREATE TABLE  sample_1 (
  `id` int(11) NOT NULL AUTO_INCREMENT,
   `col_val` int(11) ,
  PRIMARY KEY (`id`)
);

INSERT INTO sample_1(col_val) values (1),(1), (2),(3) ;

SELECT * FROM sample_1;

SELECT DISTINCT COL_VAL FROM sample_1;

SELECT SUM(DISTINCT COL_VAL) FROM sample_1;

答案 1 :(得分:0)

我试过,在MySQL中,包括UDF调用中的DISTINCT关键字是一种语法错误。所以我认为这是不可能的。