mysql操作遇到的坑(第二版)
1、通过条件查询出上一条与下一条
sql说明:本表关联本表,然后通过其中一个表,查询出对应的条件,再用另外一个表求出上一条与下一条的数据,求出来的数据是多条的
SELECT
ua.id,
ua.wx_pages,
ua.wx_pages_source,
uaa.id as uaa_id,
uaa.wx_pages,
uaa.wx_pages_source
FROM
ds_user_action AS ua
JOIN ds_user_action AS uaa ON ua.user_id = uaa.user_id // 用会员ID作为关联条件,两张表出来的数据是不同的,其中一张表,专门根据条件用来查询,另外一个没有加条件的表,则用来求上一条与一条数据,切记,不要用主键ID
WHERE
uaa.wx_pages LIKE '%shopping/checkout%'
AND uaa.wx_pages_source LIKE '%goods/goods%'
AND uaa.user_id = 179135
AND ua.id = (
SELECT
max(id)
FROM
ds_user_action as uaaa
WHERE
uaaa.id < uaa.id
AND uaaa.user_id = 179135
)
2、CASE WHEN 判断条件 THEN 值 ELSE 被动值 END 的结果,判断条件排序
(1)ELSE用NULL,count(NULL) == 0 , count(0) == 1
SELECT
ld.*, ldt.order_state,
ldt.uid,
count(
CASE
WHEN (ldt.order_state = 1) && (ldt.uid = 179135) THEN
1
ELSE
NULL
END
) AS onum
FROM
ds_lucky_draw AS ld
LEFT JOIN ds_lucky_deposit AS ldt ON ld.ld_id = ldt.lid
WHERE
ld.`status` = 1
AND ld.lottery_time >= 1564109614
GROUP BY
ld.ld_id
ORDER BY
onum DESC,
ld.lottery_time DESC
(2)这个直接就用的case判断
SELECT
ld.*, ldt.order_state,
g.goods_name,
ldt.uid,
CASE
WHEN (ldt.order_state = 1) && (ldt.uid = '.$user_id.') THEN
1
WHEN ld.start_time <= 1564625127 && ld.lottery_time > 1564625127 THEN
2
WHEN ld.start_time >= 1564625127 THEN
3
ELSE
0
END onum
FROM
ds_lucky_draw AS ld
LEFT JOIN ds_lucky_deposit AS ldt ON ld.ld_id = ldt.lid
LEFT JOIN ds_goods AS g ON ld.goods_id = g.goods_id
WHERE
ld.`status` = 1
AND ld.lottery_time >= 1564625127
GROUP BY
ld.ld_id
ORDER BY
onum DESC,
ld.sort DESC;
3、求出max与本条纪录字段
SELECT
lba_id,
price,
add_time
FROM
ds_live_broadcast_auction AS lba_a
WHERE
lba_a.price = (
SELECT
max(price)
FROM
ds_live_broadcast_auction AS lba_b
ORDER BY add_time asc
)
limit 1; # 如果价格有多条相同的情况
后续还会更新,谢谢各们亲关注!
mysql操作遇到的坑(第二版)的更多相关文章
- mysql操作遇到的坑(第一版)
1.当我们要统计数据表数量时,如果遇到多表查询,会出现一个主表对应多个子表的维度,我们会用到group by,但是不要再用统计函数去操作数据,因为统计还是会统计原数据 案例 SELECT sum(`o ...
- MySQL管理之道,性能调优,高可用与监控(第二版)pdf下载
MySQL管理之道,性能调优,高可用与监控(第二版) 书中内容以实战为导向,所有内容均来自于笔者多年实践经验的总结和新知识的拓展,同时也针对运维人员.DBA等相关工作者会遇到的有代表性的疑难问题给出了 ...
- 利用MYSQL的函数实现用户登录功能,进出都是JSON(第二版)
利用MYSQL的函数实现用户登录功能,进出都是JSON(第二版) CREATE DEFINER=`root`@`%` FUNCTION `uc_session_login`( `reqjson` JS ...
- centos LAMP第四部分mysql操作 忘记root密码 skip-innodb 配置慢查询日志 mysql常用操作 mysql常用操作 mysql备份与恢复 第二十二节课
centos LAMP第四部分mysql操作 忘记root密码 skip-innodb 配置慢查询日志 mysql常用操作 mysql常用操作 mysql备份与恢复 第二十二节课 mysq ...
- SparkR链接mysql数据库(踩坑)
本文主要讲述sparkR链接Mysql的过程和坑. SparkR的开发可以用RStudio工具进行开发,连接spark可以通过RStudio界面中的Connections进行配置连接;具体方法这里不做 ...
- 一套简单的web即时通讯——第二版
前言 接上一版,这一版的页面与功能都有所优化,具体如下: 1.优化登录拦截 2.登录后获取所有好友并区分显示在线.离线好友,好友上线.下线都有标记 3.将前后端交互的值改成用户id.显示值改成昵称ni ...
- mysql : mysql 5.6.13 免安装版配置
前言:真正用到mysql是在公司的第二个项目下,具体的一些在之前的博客文章(http://www.cnblogs.com/zhengzeze/p/5623440.html)中也提到了,其中涉及到,免安 ...
- Javascript DOM 编程艺术(第二版)读书笔记——基本语法
Javascript DOM 编程艺术(第二版),英Jeremy Keith.加Jeffrey Sambells著,杨涛.王建桥等译,人民邮电出版社. 学到这的时候,我发现一个问题:学习过程中,相当一 ...
- 读书笔记:JavaScript DOM 编程艺术(第二版)
读完还是能学到很多的基础知识,这里记录下,方便回顾与及时查阅. 内容也有自己的一些补充. JavaScript DOM 编程艺术(第二版) 1.JavaScript简史 JavaScript由Nets ...
随机推荐
- 一本通 P1486 【黑暗城堡】
题库 :一本通 题号 :1486 题目 :黑暗城堡 link :http://ybt.ssoier.cn:8088/problem_show.php?pid=1486 思路 :这道题既然要求使加入生成 ...
- Codeforces Round #481 (Div. 3) C. Letters
题目地址:http://codeforces.com/contest/978/problem/C 题解:有n个宿舍,每个宿舍人不一样多,有m封信,每封信送给对应的第m间房间,问这封信是给第几个宿舍,第 ...
- hdu 1176免费馅饼(记忆化搜索)
题目链接 http://acm.hdu.edu.cn/showproblem.php?pid=1176 题意不解释了 简单的记忆化搜索可以拿来练练手,注意要从pos = 5 开始搜索 #include ...
- 字符编码与gcc 编译器的编码问题
最近在 vscode 中借助 gcc 编译器来配置 c 语言开发环境时,发现中文编码存在乱码问题.再加上最近学习到多字节字符与宽字符,搅在一起,搞得很乱,就把自己的理解写下来,供有需者参考吧. 1. ...
- python中列表,数字,字符串函数总结
列表list: arr = [] 1.可以定义空列表 2.可以定义只有一个元素的列表 3.元素可以是任意类型 arr.append('abc')末尾添加 arr.insert(index,objec) ...
- mariadb数据库galera下添加新的服务器节点
昨天经过各种努力,终于完成了两台服务器集成的搭建,今天再新开一台服务器,在想如何加入呢?网上度娘了很久结果没搜到相关文章:哎,索性直接照着前两台服务配置,在第三台(新服务器)上配置完成后重启maria ...
- java8函数式接口详解、函数接口详解、lambda表达式匿名函数、方法引用使用含义、函数式接口实例、如何定义函数式接口
函数式接口详细定义 函数式接口只有一个抽象方法 由于default方法有一个实现,所以他们不是抽象的. 如果一个接口定义了一个抽象方法,而他恰好覆盖了Object的public方法,仍旧不算做接口的抽 ...
- Java中ElasticSearch的删除示例
public class DeleteElasticAPI { private static RestClient restClient; static { restClient=RestClient ...
- 单点登录(两种单点登录类型:SSO/CAS、相同一级域名的SSO)
单点登录:SSO(Single Sign On) 什么是单点登录:大白话就是多个网站共享一个用户名和密码的技术,对于普通用户来说,只需要登录其中任意一个网站,登录其他网站的时候就能够自动登陆,不需要再 ...
- android中的后退键——onBackPressed()的使用
转自:http://blog.sina.com.cn/s/blog_5085156c0101725e.html 很多网友不明白如何在Android平台上捕获Back键的事件,Back键是手机上的后退键 ...