• 常用的一些sql基础语句汇总


    (1)IN查询

    SELECT  cat_id,cat_name from syscategory_cat where 1=1 and disabled = 0 and cat_id in ({$ids}) order by field(cat_id,{$ids});

    SELECT goods_id,goods_name,goods_price,goods_image,store_id from 33hao_goods where goods_id in (100591,100592,100153,100173,100142,100178,100174);

    SELECT goods_id,goods_name,goods_price,goods_image,store_id FROM 33hao_goods WHERE goods_id IN (100591,100592,100153,100173,100142,100178,100174) ORDER BY FIND_IN_SET(goods_id,'100591,100592,100153,100173,100142,100178,100174');//按顺序查询

    贴图:

    SELECT id,HASH,path,STATUS FROM pic_list WHERE id IN (729,729,724) ORDER BY find_in_set(id, '729,729,724')//去重

    (2)联合查询

    SELECT card.id,card.card_sn FROM card_baseinfo AS card LEFT JOIN seller_list AS sell ON card.seller_id = sell.id WHERE card.request_id = 14 AND sell.`status` = 0;//左查询

    (3)时间范围

    SELECT * FROM card_create_request WHERE 1 = 1 AND cdate >= '2017/01/10 00:00:00 ' AND cdate <= '2017/01/10 23:59:59 ' ORDER BY id DESC LIMIT 0,10;

    SELECT op_date FROM member_qiandao_log WHERE member_id = 21 AND op_date >= 20160117 AND op_date <= 20160117

    (4)动态更新数据case,when,then,end

    UPDATE content_publish
    SET content = CASE id
    WHEN 21 THEN
    '{"supplier_id":0,"shipping_express_id":"0","shipping_code":"","shipping_time":"0"} '
    WHEN 22 THEN
    'value2'
    WHEN 23 THEN
    'value3'
    END
    WHERE
    id IN (21, 22, 23);//

    UPDATE 33hao_order
    SET mdate = '2017-03-10 15:26:03',
    shipping_info = CASE order_id
    WHEN 324 THEN
    '[{"supplier_id":0,"shipping_express_id":"32","shipping_code":"550432091945","shipping_message":"","goods":["100077"],"shipping_time":"1464252505"}]'
    WHEN 352 THEN
    '[{"supplier_id":0,"shipping_express_id":"32","shipping_code":"7667767676","shipping_message":"","goods":["100363"],"shipping_time":"1478150574"}]'
    WHEN 388 THEN
    '[{"supplier_id":0,"shipping_express_id":"39","shipping_code":"11231232132132","shipping_message":"","goods":["100380","100381"],"shipping_time":"1478484967"}]'
    END
    WHERE
    order_id IN (324, 352, 388);//

    SELECT
    sex,
    count(*) AS zj
    FROM
    employee
    WHERE
    1 = 1
    AND `status` = 0
    GROUP BY
    sex;//查询男女人数

    SELECT
    sum(CASE WHEN sex = 0 THEN 1 ELSE 0 END) 男,
    sum(CASE WHEN sex = 1 THEN 1 ELSE 0 END) 女,
    count(*) AS 总数
    FROM
    employee
    WHERE
    `status` = 0;//查询男女人数,总人数

    (5)排序

    SELECT * FROM 33hao_article_class ORDER BY ac_id asc;//正序
    SELECT * FROM 33hao_article_class ORDER BY ac_id desc;//倒叙

    (6)limit

    SELECT * FROM content_publish WHERE type_id = 5 ORDER BY id DESC LIMIT 1;//倒数第一条

    SELECT * FROM withdraw_list WHERE 1 = 1 AND cdate >= '2017-02-21 00:00:00' AND cdate <= '2017-02-21 23:59:59' ORDER BY id DESC LIMIT 0,10;//分页

    SELECT op_date,STATUS,continued_num FROM member_qiandao_log WHERE member_id = $member_id ORDER BY id DESC LIMIT 31;//近31天的签到日志

    SELECT * FROM 33hao_goods WHERE is_deleted = 0 AND goods_state = 1 AND goods_verify = 1 AND goods_commend = 1 ORDER BY rand() LIMIT 8;//随机取8个商品

    (7)查询库表个数

    SELECT COUNT(*) TABLES,table_schema FROM information_schema. TABLES WHERE table_schema = 'water_station' GROUP BY table_schema;

     (8)转换时间格式、时间戳

    SELECT tid,`shop_id` ,`status` ,`user_id` ,cancel_reason,`payment` ,`receiver_name` , FROM_UNIXTIME( `created_time`, '%Y-%m-%d %H:%i:%S' ) as cdate FROM systrade_trade where `shop_id` = 3

    AND `created_time` >= 1501516800 AND `created_time` <= 1504195199

    (9)阿里云导出表格导致订单号乱

    SELECT concat(refund_bn,"\t") AS '退款申请编号' ,user_id as '用户id',`shop_id` as '店铺id', concat(`tid`,"\t") as `订单id`,refunds_reason as '退款原因',`status` as '状态' ,order_price as '订单金额',total_price as '总金额'
    ,refund_fee as '退款金额' ,FROM_UNIXTIME( `created_time`, '%Y-%m-%d %H:%i:%S' ) as '创建时间' FROM sysaftersales_refunds
    where `shop_id` = 3
    AND `created_time` >= 1501516800 AND `created_time` <= 1504195199;

    (10)关机键字查询

    SELECT * from base_setting where `key` like '%b2c.wss.enable%'

    (11)业务场景:促销商品是否存在其他促销活动中。

     1 SELECT
     2      FROM_UNIXTIME(
     3         `start_time`,
     4         '%Y-%m-%d %H:%i:%S'
     5     ) AS start_time,
     6     FROM_UNIXTIME(
     7         `end_time`,
     8         '%Y-%m-%d %H:%i:%S'
     9     ) AS end_time,promotion_id,promotion_name
    10 FROM
    11     syspromotion_promotions
    12 WHERE
    13     (`end_time` > 1511157868)
    14 AND (
    15     (
    16         start_time > 1507600800
    17         AND start_time < 1510279200
    18     )
    19     OR (
    20         start_time < 1507600800
    21         AND end_time > 1510279200
    22     )
    23     OR (
    24         end_time > 1507600800
    25         AND end_time < 1510279200
    26     )
    27 );
    28 
    29 
    30 SELECT it.`bn`  FROM sysitem_item_promotion as pro INNER JOIN `sysitem_item` as it ON pro.`item_id` = it.`item_id`  where pro.`promotion_id` in(158,157,103) and it.bn IN  (3333,4);
  • 相关阅读:
    【小错误】ORA-00265: instance recovery required, cannot set ARCHIVELOG mode
    【小错误】Device eth2 has different MAC address than expected, ignoring.
    Bloom filters 布隆过滤器
    ORA-600 [729] "UGA Space Leak" (文档 ID 31056.1)
    Procwatcher: Script to Monitor and Examine Oracle DB and Clusterware Processes (文档 ID 459694.1)
    TECH: Getting a Stack Trace from a CORE file on Unix (文档 ID 1812.1)
    Diagnostic Tools Catalog (文档 ID 559339.1)
    How to Analyze Problems Related to Internal Errors (ORA-600) and Core Dumps (ORA-7445) using My Oracle Support (文档 ID 260459.1)
    windows DOS命令
    收集UNDO管理信息的脚本
  • 原文地址:https://www.cnblogs.com/choucat/p/7162274.html
Copyright © 2020-2023  润新知