gpt4 book ai didi

mysql - MySQL 查询中的宏

转载 作者:行者123 更新时间:2023-11-29 03:33:54 32 4
gpt4 key购买 nike

为了数据分析的目的,我经常做非常相似的查询,在这些查询中我沿着不同的维度聚合数据。我使用的维度总是在变化,但我聚合的字段总是相同的。在实践中,我在做

select key1, key2, ... 
sum(agg_field1), avg(agg_field2), count(distinct agg_field3) ...
from ...
where ...

我有很多聚合,如果我可以用某种宏替换聚合列表,那将非常有用。我使用“宏”这个词是因为它让我想起了 C/C++ 宏。我在想:

select key1, key2, ..., MY_AGGREGATIONS
from ...
where ...

这样会有很多好处

  • 问题会让我更清楚
  • 很容易将这些聚合共享给同一数据库上的其他用户
  • 写查询会更快

最佳答案

您可以开发一个函数,您可以在其中传递参数并使用 while 循环动态构造查询。如果您还想执行该查询,那么您可以在其中开发存储过程并动态准备查询并执行它。

您可以传递带有信息的参数,例如您想要多少个聚合字段以及其中任何一个需要 distic 关键字。然后您可以使用 while 循环并构建您的查询。

通过prepare语句可以执行动态查询 http://dev.mysql.com/doc/refman/5.0/en/sql-syntax-prepared-statements.html

关于mysql - MySQL 查询中的宏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26297366/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com