首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >MySql -获取最小、最大和3个随机行

MySql -获取最小、最大和3个随机行
EN

Stack Overflow用户
提问于 2017-06-15 10:37:15
回答 7查看 1.5K关注 0票数 10

我想要一个MySql查询得到5行,其中包括最低价格行,最高价格行和其他3个随机行。

表:

代码语言:javascript
运行
AI代码解释
复制
ID  Product Price
1   data    2
2   data    20
3   data    55
4   data    24
5   data    2
6   data    15
7   data    10
8   data    33
9   data    3
10  data    30

预期结果(包含3个随机行)

代码语言:javascript
运行
AI代码解释
复制
ID  Product Price
1   data    2
3   data    55
4   data    24
6   data    15
7   data    10

任何帮助都将不胜感激!

EN

回答 7

Stack Overflow用户

回答已采纳

发布于 2017-06-17 14:07:04

代码语言:javascript
运行
AI代码解释
复制
SELECT table.*
  FROM table
     , ( SELECT @minPrice := ( SELECT min(Price) FROM table ) minPrice
              , @minId    := ( SELECT id FROM table WHERE Price = @minPrice ORDER BY rand() LIMIT 1 )
              , @maxPrice := ( SELECT max(Price) FROM table ) maxPrice
              , @maxId    := ( SELECT id FROM table WHERE Price = @maxPrice ORDER BY rand() LIMIT 1 )
       ) tmp
  WHERE table.id in (@minId,@maxId)
UNION
(SELECT *
   FROM table
   WHERE Price not in (@minPrice,@maxPrice)
   ORDER BY rand()
   LIMIT 3
)
票数 10
EN

Stack Overflow用户

发布于 2017-06-17 11:25:22

你可以这样做,

代码语言:javascript
运行
AI代码解释
复制
select * from table order by Price asc limit 0,1
union all
select * from table order by Price desc limit 0,1 
union all
select * from table order by RAND()  limit 0,3 
票数 6
EN

Stack Overflow用户

发布于 2017-06-24 10:27:56

可以通过UNION和sub查询得到:

代码语言:javascript
运行
AI代码解释
复制
(SELECT * FROM table ORDER BY Price ASC LIMIT 0 , 1 )
UNION ALL 
(SELECT * FROM table ORDER BY Price DESC limit 0,1 )
UNION ALL 
(SELECT * FROM table WHERE Price NOT IN ( SELECT CONCAT( MIN(  `Price` ) ,  ',', MAX(  `Price` ) ) AS MaxPrice FROM table ) ) ORDER BY RAND( ) LIMIT 0 , 3 ) 
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44565328

复制
相关文章
开心档之Vue教程1
class 与 style 是 HTML 元素的属性,用于设置元素的样式,我们可以用 v-bind 来设置样式属性。
iOS Magician
2023/03/21
1.9K0
开心档之Vue教程1
el-dropdown-item添加点击事件
Vue引入Element-ui框架,使用其DropDown组件时,发现官网教程并没有给出el-dropdown-item点击事件的使用方法。因此需要自定义点击事件,也就是需要添加原生的点击事件。
猫老师的叶同学
2023/03/01
2.8K0
开心档之Vue教程1
class 与 style 是 HTML 元素的属性,用于设置元素的样式,我们可以用 v-bind 来设置样式属性。
爱学iOS的小麦子
2023/03/02
1.8K0
开心档之Vue教程1
class 与 style 是 HTML 元素的属性,用于设置元素的样式,我们可以用 v-bind 来设置样式属性。
iOS程序应用
2023/04/17
1.1K0
开心档之Vue教程1
Vuebnb:一个用vue.js和Laravel构建的全栈应用
今年我一直在写一本新书叫全栈Vue网站开发:Vue.js,Vuex和Laravel。它会在Packt出版社在2018年初出版。
笔阁
2018/09/04
6.1K0
Vuebnb:一个用vue.js和Laravel构建的全栈应用
vue.js 父组件如何触发子组件中的方法
组件 (Component) 是 Vue.js 最强大的功能之一。组件可以扩展 HTML 元素,封装可重用的代码。在较高层面上,组件是自定义元素,Vue.js 的编译器为它添加特殊功能。在有些情况下,组件也可以表现为用 is 特性进行了扩展的原生 HTML 元素。
IT工作者
2022/02/17
4.8K0
Vue.js-组件 原
之前说过,我们可以通过以下方式创建一个Vue实例 new Vue({   el: '#some-element',   // 选项 })
tianyawhl
2019/04/04
5.3K0
前端MVC Vue2学习总结(三)——模板语法、过滤器、计算属性、观察者、Class 与 Style 绑定
Vue.js 使用了基于 HTML 的模版语法,允许开发者声明式地将 DOM 绑定至底层 Vue 实例的数据。所有 Vue.js 的模板都是合法的 HTML ,所以能被遵循规范的浏览器和 HTML 解析器解析。 在底层的实现上, Vue 将模板编译成虚拟 DOM 渲染函数。结合响应系统,在应用状态改变时, Vue 能够智能地计算出重新渲染组件的最小代价并应用到 DOM 操作上。 如果你熟悉虚拟 DOM 并且偏爱 JavaScript 的原始力量,你也可以不用模板,直接写渲染(render)函数,使用可选的
张果
2018/03/30
4.8K0
前端MVC Vue2学习总结(三)——模板语法、过滤器、计算属性、观察者、Class 与 Style 绑定
Vue.js 组件 - 自定义事件
父组件是使用 props 传递数据给子组件,但如果子组件要把数据传递回去,就需要使用自定义事件!
陈不成i
2021/07/27
1.3K0
自定义事件
上面这种情况,当点击子组件时并不会触发handleClick()事件,因为此时的click并非原生的点击事件,而是一个自定义事件。
小小杰啊
2022/12/21
3550
Vue之自定义事件
我们都知道父组件想给子组件传递东西很简单,props里直接放就完事了,而子组件想给父组件传东西就不是那么容易,这个时候就可以利用自定义事件来满足我们的需求。
henu_Newxc03
2021/12/28
5280
Vue之自定义事件
【云+社区年度征文】Vue深入dom到组件动画
MV,VM是Vue提供,关注model操作(es5:obj.properties(对象性能、内容)+虚拟dom)
瑞新
2020/12/18
2.4K0
【云+社区年度征文】Vue深入dom到组件动画
Vue使用小结
只有当Vue实例被创建时data中存在的属性才是响应式的,当这些数据改变时,视图会进行重渲染;视图接收用户输入时,data中相应的属性值也会发生改变。
雪飞鸿
2019/05/15
8190
Vue使用小结
【Vuejs】339- Vue.js 组件通信精髓归纳
由 vue-router 产生的每个页面,它本质上也是一个组件( .vue),主要承载当前页面的 HTML 结构,会包含数据获取、数据整理、数据可视化等常规业务。
pingan8787
2019/09/05
8680
vue中输入框事件的使用——@input、@keyup.enter、@change、@blur「建议收藏」
该事件与v-on:input事件的区别在于:input事件是实时监控的,每次输入都会调用,而@keyup.enter事件则是在pc上需要点击回车键触发,而在手机上则是需要点击输入键盘上的确定键才可触发。
全栈程序员站长
2022/08/12
13.8K0
vue中输入框事件的使用——@input、@keyup.enter、@change、@blur「建议收藏」
vue—你必须知道的
不要在实例属性或者回调函数中(例如,vm.$watch('a', newVal => this.myMethod())使用箭头函数。因为箭头函数会绑定父级上下文,所以 this 不会按照预期指向 Vue 实例,然后 this.myMethod 将是未定义。
超然
2018/08/03
1.9K0
el-radio再次点击取消选中-更新版
网上一直流传的2种方法,一种复选框方案需求不接受,二种@click.native.prevent不能取消选中,
deepcc
2020/07/14
3.3K0
laravel 中配置文件.env解读
大家好,又见面了,我是你们的朋友全栈君。 配置参数 // 运行环境名称 APP_ENV=local // 调试模式,开发阶段启用,上线状态禁用。 APP_DEBUG=true // 敏感信息加密密钥,可使用 php artisan key:generate 重新生成。 APP_KEY= // 项目根目录 APP_URL=http://localhost // 缓存驱动,默认使用文件作为缓存。 CACHE_DRIVER=file // 回话驱动,默认使用文件存储SESSION。 SESSION_DRI
全栈程序员站长
2022/08/09
1.2K0
laravel 中配置文件.env解读
Asp.net+Vue2构建简单记账WebApp之四(vue.js构建记账主页面)
一、安装我们所需要的一些库 cnpm install mint-ui -S // 安装mint-ui库,ui库,cnmp是按照淘宝镜像后的用法,用法和npm一样。-s是将库添加到项目的packag
易兒善
2018/08/21
1K0
Asp.net+Vue2构建简单记账WebApp之四(vue.js构建记账主页面)
v-on
这里,我们在传统js可以通过event直接获取事件信息,得到输入的状态码,并且可以做一些判断, 我们在vue中可以通过body里传入&event的方式间接来获取事件信息.
名字是乱打的
2021/12/22
1K0
v-on

相似问题

vue.js -v-on:更改未在侦听

10

刀片视图未在laravel中渲染

12

Laravel,刀片,vue.js和@if ({{ }})

13

Ajax响应未在刀片Laravel中显示

115

Laravel API + Vue.js或Laravel刀片

21
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档