mysql技能大全

1.将【user】表中“用户名”字段值相同的记录加序号以保证“用户名”字段取值唯一性

前提条件:【user】表中必须包含“id”字段且作为数字主键。 

语句如下:

UPDATE 
    user_debug INNER JOIN 
    (SELECT n1.id, n1.用户名, count(n2.id)+1 cnt 
    FROM  user_debug n1 INNER JOIN user_debug n2 
      ON n1.用户名=n2.用户名 AND n1.id>n2.id 
    GROUP BY n1.id, n1.用户名) s 
    ON user_debug.id = s.id 
SET 
    user_debug.用户名 = CONCAT(user_debug.用户名,s.cnt) 

 2.sql获取最近7天的日期

SELECT
    DATE_FORMAT(
    date_add( DATE_FORMAT( DATE_SUB( NOW( ), INTERVAL 1 DAY ), '%Y-%m-%d' ), INTERVAL @j := @j + 1 DAY ),
    '%Y-%m-%d' 
    ) AS mydate 
FROM
    (
SELECT
    1 UNION ALL
SELECT
    1 UNION ALL
SELECT
    1 UNION ALL
SELECT
    1 UNION ALL
SELECT
    1 UNION ALL
SELECT
    1 UNION ALL
SELECT
    1 
    ) tmp,
    ( SELECT @j := 0 ) t

执行结果如下图所示:

 

posted @ 2023-10-20 10:31  Franson  阅读(8)  评论(0编辑  收藏  举报