常用的SQL语句总结
931 阅读
平时很多时候需要用到SQL,一些常见常用的SQL语句总结,后面可以拷贝使用。
一、使用表内其它的列组合来更新一个列
例如,有一个表,有一列是ID列,有一列是名称列,需要增加一列,内容是ID与名称的组合。 原来的表:
新的表如下:
方法如下:先增加一列,然后更新这列
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 如下
表 test2 如下:
test2的print_issn来自于test1,展示test1的记录,以及每一个test1下关联的test2,每一个记录只展示test2的前N条,比如,前2个,如下结果:
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;
