pq函数功能很强大,我打算把统计的功能都放在数据库端。优势让运算离数据更近一些,缺点无法服用代码。牺牲了django的灵魂性,项目必须依赖postgresql。

项目中,希望实现返回select内容

后来通过bing.com查询,其实我需要的是返回表格。也是pq中的table,下面是demo

CREATE OR REPLACE FUNCTION word_frequency(_max_tokens int)
RETURNS TABLE (
txt text
,abs_cnt bigint
,relative_share numeric
) AS
$func$
BEGIN RETURN QUERY
SELECT t.txt
,t.cnt
,round((t.cnt * 100) / (sum(t.cnt) OVER ()), 2) -- AS relative_share
FROM (
SELECT t.txt
,count(*) AS cnt
FROM token t
WHERE t.chartype = 'ALPHABETIC'
GROUP BY t.txt
ORDER BY cnt DESC
LIMIT _max_tokens
) t
ORDER BY t.cnt DESC; END
$func$ LANGUAGE plpgsql;

上面是参考了http://stackoverflow.com/questions/7945932/how-to-return-result-of-a-select-inside-a-function-in-postgresql/

简单的demo
```
CREATE or REPLACE function getselectdemo()
RETURNS TABLE (
wID NUMERIC
)
as
'
BEGIN

RETURN QUERY
select balance as wID from accounts;

end;' LANGUAGE 'plpgsql';
```

postgresql function 返回 select的更多相关文章

  1. PostgreSQL function examples

    warehouse_db=# CREATE TABLE warehouse_tbl(warehouse_id INTEGER NOT NULL,warehouse_name TEXT NOT NULL ...

  2. How to debug PostgreSQL function with pgAdminIII

    How to debug plpgsql with pgAdminIII [root@localhost soft_bak]# git clone git://git.postgresql.org/g ...

  3. Sql Server 函数的操作实例!(执行多条语句,返回Select查询后的临时表)

    Sql Server 函数的操作实例!(执行多条语句,返回Select查询后的临时表) SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO -- ==== ...

  4. vue h render function & render select with options bug

    vue h render function & render select with options bug https://github.com/xgqfrms/vue/issues/41 ...

  5. $(function(){})返回值$(document)

    $(function(){})返回值为$(document). 做出下面的操作:可以使得页面背景改变. $(function (){}).find('body').css('background',' ...

  6. postgresql 函数返回结果集(zz)

    pgsql function 系列之一:返回结果集--------------------------------------------------------------------------- ...

  7. postgresql+mybatis返回值是数据库字段名

    mybatis 返回map的时候是下划线 role_id, user_id 两种解决方法 1.重命名 postgresql不支持驼峰 加上双引号重命名  SELECT role_id "ro ...

  8. 在Oracle/SQL Service中通过Function返回Table

    本函数用途:返回一个Table 在Oracle中实现,范例: --在Types中: create or replace type objTable as object ( s_usercode var ...

  9. Oracle笔记 三、function 、select

    Scott表下有这么几个常用的表,而且还带有数据.分别是emp.dept.salgrade: 1.查看表结构用desc desc emp; 2.空表dual,最常用的空表,如: select 2 * ...

随机推荐

  1. 30天C#基础巩固-----序列化,集合

    关于集合的练习. ----->计算字符串每个字符出现的次数. Console.WriteLine("请输入?"); string input = Console.ReadLi ...

  2. Visual Studio Code编写HTML

    第一步双击打开Visual Studio Code,我们发现什么也没有,但是有一个默认打开的编辑页面.我们先点击File->OpenFoldor 为什么先这么做呢,有两个原因,第一个原因假如你有 ...

  3. CSRF防御之ASP.NET MVC

    MVC中的Html.AntiForgeryToken()是用来防止跨站请求伪造(CSRF:Cross-site request forgery)攻击的一个措施. 举个简单例子,譬如整个系统的公告在网站 ...

  4. 炉石传说 C# 开发笔记 (续)

    炉石传说山寨的工作一直在进行着,在开发过程中深深体会到,对于业务的理解和整个程序的架构的整理远比开发难得多. 在开发过程中,如果你的模型不合理,不准确,很有可能造成代码的混乱,冗余,难以维护和扩展性比 ...

  5. hibernate简单注释(一.1)

    **************************************************************************************************** ...

  6. python flask detect browser language

    python flask detect browser language   No problem. We won't show you that ad again. Why didn't you l ...

  7. 2014 ICPC---Relief grain(树链剖分)

    原题链接 Problem Description The soil is cracking up because of the drought and the rabbit kingdom is fa ...

  8. mongodb-java-driver基本用法

    1.先下载mongodb-java-driver 目前最新版本是2.9.3 2.下面是基本的CRUD示例代码: package com.cnblogs.yjmyzz.cache.test; impor ...

  9. HDU 1131 Count the Trees 大数计算

    题目是说给出一个数字,然后以1到这个数为序号当做二叉树的结点,问总共有几种组成二叉树的方式.这个题就是用卡特兰数算出个数,然后因为有编号,不同的编号对应不同的方式,所以结果是卡特兰数乘这个数的阶乘种方 ...

  10. 献给广大it从业人士:早睡早起,晚睡也早起

    早睡早起占人体健康的百分之七十:心态.饮食.及时调理各占百分之十,我们就可以知道早睡早起的重要性. 我们白天是放电,晚上睡觉是充电.晚上只冲了50%的电,白天还要释放100%,那50%哪来的?就是从五 ...