校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃

主頁 > 知識庫 > 基于postgreSql 常用查詢小結(jié)

基于postgreSql 常用查詢小結(jié)

熱門標(biāo)簽:電銷機(jī)器人能補(bǔ)救房產(chǎn)中介嗎 廣州電銷機(jī)器人公司招聘 400電話申請客服 濟(jì)南外呼網(wǎng)絡(luò)電話線路 江蘇400電話辦理官方 電話機(jī)器人怎么換人工座席 地圖標(biāo)注要花多少錢 移動外呼系統(tǒng)模擬題 天津開發(fā)區(qū)地圖標(biāo)注app

1. 日期格式轉(zhuǎn)化(參考)

select beg_time, end_time, extract(epoch from to_timestamp(end_time,'yyyy-mm-dd-HH24-MI-SS-US'))-extract(epoch from to_timestamp(beg_time,'yyyy-mm-dd-HH24-MI-SS-US')) from cdb_all_iu_data where beg_time > '2017-09-21' 

注:beg_time, end_time以TEXT形式存儲,求時間差時轉(zhuǎn)化為時間戳再相減得到結(jié)果(s)

2. select * from (中間結(jié)果) t

select count(*) from (
select chkid, count(*) from abc_table GROUP BY chkid) t

補(bǔ)充:自己寫的postgreSQL查詢語句

我就廢話不多說了,大家還是直接看代碼吧~

import psycopg2 
class PostgreConn():
  '''
  數(shù)據(jù)庫連接類
  '''
  def __init__(self, database, user, password, host, port):
    self.conn = psycopg2.connect(database=database, user=user, password=password, host=host, port=port)
    print('數(shù)據(jù)庫連接成功')
    self.cur = self.conn.cursor()
    self.rows = None
 
  def cur(self):
    return self.cur()
 
  def execute(self, sql, fetchone=0):
    self.cur.execute(sql)
    if fetchone:
      self.rows = self.cur.fetchone()
    else:
      self.rows = self.cur.fetchall()
    return self.rows
 
  def close(self):
    self.cur.close()
    self.conn.close()
    print('數(shù)據(jù)庫連接關(guān)閉') 
 
def select_sql(table, keys, conditions, isdistinct=0):
  '''
    生成select的sql語句
  @table,查詢記錄的表名
  @key,需要查詢的字段
  @conditions,插入的數(shù)據(jù),字典
  @isdistinct,查詢的數(shù)據(jù)是否不重復(fù)
  '''
  if isdistinct:
    sql = 'SELECT distinct %s ' % ",".join(keys)
  else:
    sql = 'SELECT %s ' % ",".join(keys)
  sql += ' from %s ' % table
  if conditions:
    sql += ' WHERE %s ' % dict_str_and(conditions)
  return sql 
 
def dict_str_and(dictin):
  '''
  將字典變成,key='value' and key='value'的形式
  '''
  tmplist = []
  for k, v in dictin.items():
    tmp = "%s='%s'" % (str(k), str(v))
    tmplist.append(' ' + tmp + ' ')
  return ' and '.join(tmplist) 
 
def fSqlResult(r,key_list):
  '''
  :param r: 數(shù)據(jù)庫fetchall的結(jié)果
  :param key_list: 查詢字段的keys
  :return:
  format SQL Result 格式化數(shù)據(jù)庫查詢的結(jié)果,轉(zhuǎn)化成包含多個字典的列表格式,即((1,2),(3,4))->[{"key1":1,"key2":2},{"key1":3,"key2":4}]
  返回 @dict 查詢結(jié)果
  '''
  mlist=[]
  l=len(key_list)
  if r:
    for item in r:
      tmp={}
      for i in range(l):
        tmp[key_list[i]]=str(item[i])
      mlist.append(tmp)
  return mlist 
 
conn = PostgreConn('settle', 'admin', 'settle8', '123.57.285.89', '5432')
key_list = ['user_id']
sql = select_sql('st_user', key_list, {'phone': '138****'})
print(sql)
r = conn.execute(sql)
re = fSqlResult(r, key_list)
print(re)
conn.close()

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。如有錯誤或未考慮完全的地方,望不吝賜教。

您可能感興趣的文章:
  • 解決postgresql 數(shù)字轉(zhuǎn)換成字符串前面會多出一個空格的問題
  • PostgreSQL 遠(yuǎn)程連接配置操作
  • postgreSQL中的內(nèi)連接和外連接實現(xiàn)操作
  • postgreSQL中的case用法說明
  • postgresql 查詢字符串中是否包含某字符的操作
  • postgresql 替換空格 換行和回車的操作

標(biāo)簽:辛集 寶雞 榆林 海西 杭州 溫州 濮陽 昭通

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《基于postgreSql 常用查詢小結(jié)》,本文關(guān)鍵詞  基于,postgreSql,常用,查詢,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《基于postgreSql 常用查詢小結(jié)》相關(guān)的同類信息!
  • 本頁收集關(guān)于基于postgreSql 常用查詢小結(jié)的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    主站蜘蛛池模板: 普洱| 垦利县| 通河县| 达孜县| 安庆市| 东方市| 东莞市| 张家港市| 郯城县| 灵璧县| 武宁县| 城口县| 光泽县| 尖扎县| 辽源市| 九龙县| 禹城市| 江西省| 南雄市| 碌曲县| 城口县| 陵水| 昌宁县| 甘泉县| 铜梁县| 文山县| 通榆县| 大安市| 通城县| 宣恩县| 富蕴县| 双流县| 葫芦岛市| 安乡县| 德庆县| 延安市| 喀喇沁旗| 寻甸| 丰原市| 准格尔旗| 武鸣县|