mysql如何DISTINCT
用自己的聚合函数实现关键字?它可以以相同的方式在 UDF 中使用吗?
SELECT MY_UDF(DISTINCT value) FROM table
如果是这样,MySQL 是否在将一组行传递给 UDF 之前应用 DISTINCT,还是 UDF 本身必须处理它?使用多个参数的 UDF 会发生什么?它是否区分了整个输入元组?
mysql如何DISTINCT
用自己的聚合函数实现关键字?它可以以相同的方式在 UDF 中使用吗?
SELECT MY_UDF(DISTINCT value) FROM table
如果是这样,MySQL 是否在将一组行传递给 UDF 之前应用 DISTINCT,还是 UDF 本身必须处理它?使用多个参数的 UDF 会发生什么?它是否区分了整个输入元组?
是的,它可以在 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;
我试过了,在 MySQL 中,在 UDF 调用中包含 DISTINCT 关键字是语法错误。所以我认为这是不可能的。