DataLearner 标志DataLearnerAI
最新AI资讯
大模型评测
大模型列表
大模型对比
资源中心
AI工具导航

加载中...

DataLearner 标志DataLearner AI

专注大模型评测、数据资源与实践教学的知识平台,持续更新可落地的 AI 能力图谱。

产品

  • 评测榜单
  • 模型对比
  • 数据资源

资源

  • 部署教程
  • 原创内容
  • 工具导航

关于

  • 关于我们
  • 隐私政策
  • 数据收集方法
  • 联系我们

© 2026 DataLearner AI. DataLearner 持续整合行业数据与案例,为科研、企业与开发者提供可靠的大模型情报与实践指南。

隐私政策服务条款
  1. 首页/
  2. 博客列表/
  3. 博客详情

常用的SQL语句总结

2022/04/15 23:15:49
1,042 阅读
SQL编程

平时很多时候需要用到SQL,一些常见常用的SQL语句总结,后面可以拷贝使用。

  • 一、使用表内其它的列组合来更新一个列
  • 二、MySQL更新列为当前时间
  • 三、两个表连接后分组查询,展示每一组前N行
  • 四、两个表关联,用一个表的一个字段更新另一个表的一个字段

一、使用表内其它的列组合来更新一个列

例如,有一个表,有一列是ID列,有一列是名称列,需要增加一列,内容是ID与名称的组合。 原来的表:

idname
1journal
2journal

新的表如下:

idnamenew_col
1journaljournal-1
2journaljournal-2

方法如下:先增加一列,然后更新这列

UPDATE table_name SET new_col = CONCAT(name, '-', id);

二、MySQL更新列为当前时间

update table_name set update_time=now(3) where id=1;

三、两个表连接后分组查询,展示每一组前N行

the greatest-n-per-group 问题

表 test1 如下

print_issnname
1234-1234journal1
8888-8888journal2

表 test2 如下:

volume_indexprint_issnvol_name
11234-1234j1_vol1
21234-1234j1_vol2
31234-1234j1_vol3
18888-8888j2_vol1
28888-8888j2_vol2
38888-8888j2_vol3
48888-8888j2_vol4

test2的print_issn来自于test1,展示test1的记录,以及每一个test1下关联的test2,每一个记录只展示test2的前N条,比如,前2个,如下结果:

print_issnnamevolume_indexvol_name
1234-1234journal11j1_vol1
1234-1234journal12j1_vol2
8888-8888journal21j2_vol1
8888-8888journal22j2_vol2
SELECT * FROM (SELECT a.* ,CASE WHEN @prev = print_issn THEN @i:=@i+1 ELSE @i:=1 END i ,@prev:=print_issn prev FROM (SELECT c.print_issn, c.name, n.volume_name FROM test1 c JOIN test2 n ON n.print_issn = c.print_issn ORDER BY print_issn,volume_index DESC) a JOIN (SELECT @prev:=NULL, @i:=   0) vars ) n WHERE  n.i <= 2 limit 0,10;

四、两个表关联,用一个表的一个字段更新另一个表的一个字段

UPDATE    datalearner.table1 a,
          datalearner.table2 b
    SET       b.print_issn = a.print_issn
   WHERE     a.journal_full_name = b.journal_full_name;

DataLearner 官方微信

欢迎关注 DataLearner 官方微信,获得最新 AI 技术推送

DataLearner 官方微信二维码
返回博客列表

相关博客

  • 当前业界最优秀的8个编程大模型简介:从最早的DeepMind的AlphaCode到最新的StarCoder全解析~
  • 使用Jupyter Notebook编程与python脚本编程的差异
  • 为什么GitHub要求文件的末尾必须有换行符?
  • PandasTutor——一个用于可视化pandas操作的神器
  • pandas的get_dummies方法在机器学习中的应用及其陷阱
  • Python包中__init__.py文件的作用和用法
  • C/C++源代码是如何被最终执行的?
  • 编程语言(Programming Language)、汇编语言(Assembly Language, ASM)、机器语言(Machine Language/Code)的区别和简介

热门博客

  • 1Dirichlet Distribution(狄利克雷分布)与Dirichlet Process(狄利克雷过程)
  • 2回归模型中的交互项简介(Interactions in Regression)
  • 3贝塔分布(Beta Distribution)简介及其应用
  • 4矩母函数简介(Moment-generating function)
  • 5普通最小二乘法(Ordinary Least Squares,OLS)的详细推导过程
  • 6使用R语言进行K-means聚类并分析结果
  • 7深度学习技巧之Early Stopping(早停法)
  • 8手把手教你本地部署清华大学的ChatGLM-6B模型——Windows+6GB显卡本地部署