mysql多条件关联查询

10月11日 收藏 0 评论 1 java开发

mysql多条件关联查询

转载声明:文章来源https://blog.csdn.net/qq_36306340/article/details/78903051

工作中遇到一些mysql问题,有的需要多条件多表查询等,现在整理出来。

问题(一)如下:

查询出今天办公室人员的订餐人员
qsyz_app_user用户表
userid role


qsyz_shop_order订单表
user_id status date


role 为“办公室”
status 为“支付成功”
日期要求为今天

实现语句

select * from qsyz_app_user a,qsyz_shop_order b where a.userid=b.user_id and b.order_status='支付成功' and b.create_date='2017-12-25 16:05:05';

按日期模糊查询出结果
select a.nickname from qsyz_app_user a,qsyz_shop_order b
where a.userid=b.user_id
and a.role='办公室'
and b.order_status='支付成功'
and b.create_date like '%2017-12-25%';

mysql like的写法

like concat('%',#{param},'%')  或者 like '%${param}%' ,推荐使用前者,可以避免sql注入。

问题(二)如下:

从版本表中按照手机类型,找出版本号最大的版本


版本表
mysql> select * from qsyz_app_version;
+-----------+--------------+-------------+--------------+-------------+--------------+----------------------------------------------------+------------+
| id | version_name | version_num | version_size | create_time | version_text | down_url | phone_type |
+-----------+--------------+-------------+--------------+-------------+--------------+----------------------------------------------------+------------+
| 440289813 | 1.1.2 | 20171205 | 0 | 2017-12-05 | 56 | http://192.168.1.101:8080/images/1.JPEG | android |
| 440378169 | 1.1.2 | 20171109 | 0 | 2017-12-05 | 565 | http://192.168.1.101:8080/images/2.JPEG | android |
| 749696543 | 1.1.0 | 1 | 0 | 2017-10-23 | ghkfadjghkl | http://192.168.2.112:8080/images/app-debug.apk | android |
| 750259190 | 21 | 23 | 0 | 2017-10-23 | 家居空间 | http://192.168.2.112:8080/images/ConstantUtil.java | android |
+-----------+--------------+-------------+--------------+-------------+--------------+----------------------------------------------------+------------+
4 rows in set

实现语句

select * from qsyz_app_version where version_num=(select max(version_num)from qsyz_app_version WHERE phone_type='android
');

问题(三)如下:

从订单详情表中查询出用户的订单详情,按照倒叙排列

订单详情表:

实现语句

SELECT * FROM qsyz_wallet_detail WHERE userId=#{userId} order by tradeDate DESC

问题(四)如下:

1.情景:返回店铺的评论列表里,要求实现分页。
2.因为店铺评论列表是个动态的,每时每刻都有可能有人在评论,所以如果安装页数返回的话有可能会使数据重复或数据漏掉。
3.方法:传入一个评论id,下次查询的时候,查询这个id后面的十条数据(id要有序,不然很麻烦)

例子

实现语句

mysql> select id,name from user where id>'1' order by id asc limit 2;
C 1条回复 评论
几勺奶酪

文采四溢,大佬这是被耽搁的文学家啊!

发表于 2023-12-09 23:00:00
0 0