个人常用sql记录

发布于 2024-10-23  478 次阅读


1.逗号分隔获取字段名(备注)
SELECT GROUP_CONCAT(COLUMN_NAME SEPARATOR ', ') AS field_names
FROM information_schema.COLUMNS
WHERE table_name = 'robot_private'//表名
AND table_schema = 'tg_schedule';//数据库名称

SELECT GROUP_CONCAT(COLUMN_COMMENT SEPARATOR ', ') AS COLUMN_COMMENTS
FROM information_schema.COLUMNS
WHERE table_name = 'robot_private'
AND table_schema = 'tg_schedule';

2.多表联查

SELECT 表1.字段, 表2.字段, 表3.字段
FROM 表1
JOIN 表2 ON 表1.关联字段 = 表2.关联字段
JOIN 表3 ON 表2.关联字段 = 表3.关联字段
[WHERE 条件];

3. 按记录分组(sqlserver)

SELECT
    element_column AS 元素,  -- 替换为你的元素列名(如 user_id, device_id)
    COUNT(*) AS 总记录数,    -- 可选:总记录数
    SUM(CASE WHEN status_column = '成功状态值' THEN 1 ELSE 0 END) AS 成功数,
    SUM(CASE WHEN status_column = '失败状态值' THEN 1 ELSE 0 END) AS 失败数
FROM 表名
WHERE 筛选条件  -- 可选:指定过滤条件(如时间范围)
GROUP BY element_column
ORDER BY element_column;  -- 按元素排序(可选)

一个练习时长还差一年半的切图仔,有需求可联系 QQ:963827384
最后更新于 2025-06-26