mysql查询时按照某个字段计算后的值排序

2020-11-30 06:52:25 字数 4493 阅读 1692

1楼:山水阿锐

先把分类全取出来,并随机排序,取排在第一个分类。

2楼:匿名用户

select 商品名称, 商品原价, 折扣率, (商品原价*折扣率) as 折后价 from 表 order by 折后价

3楼:卫青芬仰卯

查询成功了,但是你没有把查询的值赋给变量,所以你肯定得不到值,$sql

="select

meta_value

from

wp_postmeta

where

meta_key

='img-link'

andpost_id

=1";

$result=mysql_query($sql);

while

($row

=mysqli_fetch_assoc($result))//用myql_fetch_assoc函数取值,可以确保多行数据时能循环输出,mysql_fetch_array只能取得最前面的一行数据

4楼:匿名用户

select 商品名,商品**

from 商品表

order by 商品** desc

mysql 联表查询后,将某个字段的特定值排序在最前面 50

5楼:匿名用户

查询成功了,但是你没有把查询的值赋给变量,所以你肯定得不到值,$sql = "select meta_value from wp_postmeta where meta_key = 'img-link' and post_id =1";

$result=mysql_query($sql);

while ($row = mysqli_fetch_assoc($result))//用myql_fetch_assoc函数取值,可以确保多行数据时能循环输出,mysql_fetch_array只能取得最前面的一行数据

如何对mysql查询出来的结果运算后再排序??

6楼:匿名用户

假设x1为坐标1 x2为坐标2,取到的结果从小到大排列

select x1-x2 as x from c_map order by x asc

7楼:风痕千里

你先把数据从数据库调出来,然后对数据排序,排序后的数据你可以用到程序上,也可以再存到数据库里

mysql 问题,我按照某一个字段group by之后的数据的排序是怎么排的呢?

8楼:汪雄辉拉

group by 字段 -----后面可以跟上asc 和desc

默认按照asc 升序,

desc 是降序

9楼:匿名用户

输出的字段才可以排序。

mysql中如何先查询出某个字段的条数,然后再根据这个条数大小进行排序,查询显示出该表中所有字段

10楼:寥若_晨星

select

count(distinctuser_id)user_count,

case

whenage<=10then'0-10'

whenage>10andage<=20then'10-20'

whenage>20andage<30then'10-30'

endas`age

from

tablename

groupbyage

orderbyagedesc

如何根据mysql数据库中的某一个字段进行排序呢??

11楼:汪雄辉拉

例如你表名 为test,sql 如下:

select * from test order by `order` desc-----------------根据order降序排列,去掉末尾的desc就是升

序注:order为关键字,所以字段order需要用反引号括起来,不然报错

12楼:time岚忆

先把分类全取出来,并随机排序,取排在第一个分类。

例如:西装

然后查询的时候 order by (category='西装') desc,category 即可实现要求。

mysql是一种开放源**的关系型数据库管理系统(rdbms),mysql数据库系统使用最常用的数据库管理语言--结构化查询语言(sql)进行数据库管理。

mysql这个名字,起源不是很明确。一个比较有影响的说法是,基本指南和大量的库和工具带有前缀“my”已经有10年以上,而且不管怎样,mysql ab创始人之一的monty widenius的女儿也叫my。这两个到底是哪一个给出了mysql这个名字至今依然是个迷,包括开发者在内也不知道。

mysql的海豚标志的名字叫“sakila”,它是由mysql ab的创始人从用户在“海豚命名”的竞赛中建议的大量的名字表中选出的。获胜的名字是由来自非洲斯威士兰的开源软件开发者ambrose twebaze提供。根据ambrose所说,sakila来自一种叫siswati的斯威士兰方言,也是在ambrose的家乡乌干达附近的坦桑尼亚的arusha的一个小镇的名字。

mysql,虽然功能未必很强大,但因为它的开源、广泛传播,导致很多人都了解到这个数据库。它的历史也富有传奇性。

13楼:追寻着

select * from test order by `order` desc

mysql 分组查询,再按照时间倒序取出第一条数据的某个字段值

14楼:司马铸剑

# mysql不支持其它复杂数据库的类似 rank() over 的排名和统计查询

# 只能通过变通的子查询和逻辑计算方式来实现,对于中小数据量可以考虑

-- rank 排名实现

select inline_rownum, aa, cc, amt, orderid from

(select

# logic_cal 只是实现计数器计算的,每次逐条查询时会对比当前 cc 与 @last_cc 是否相同,如果不同则把当前该列值赋于 @last_cc 并重设计数器 @num := 1,否则计数器自加 @num := @num + 1

(case when cc <> @last_cc then concat(@last_cc := cc, @num := 1 ) else concat(@last_cc, @num :

= @num + 1) end ) logic_cal

, @num as inline_rownum

, aa, cc, amt, orderid

from tb_rank,

( select @last_cc := '') t, # 初始化 @last_cc 为 '', 如要检查的列(基于计数器统计的列)是int型,则初始化为0; varchar型初始化为''

( select @num := 0 ) t2 # 初始化@num为0

order by cc, orderid asc # 排序的方式会影响@num的生成,因为logic_cal是逐行计算的

) twhere inline_rownum <= floor(amt*0.8) #限制条数,取常量值或其他

order by cc,orderid asc;

mysql 高级查询 一个字段根据多条件 执行排序..

15楼:坚决抵制人人网

把查询结果做为虚拟表 比如 as aa,然后在去关联.

16楼:kevin烟圈

我觉得你应该在数据结构做一些功夫, 做一些提高效率的冗余

你这样写sql效率太低了, 并发稍高一点点, 就抗不住 了

17楼:

飘过. 等回答学习一下.

mysql !!!按照某个字段排序 该字段为空排到最后边

18楼:匿名用户

挖坟,答案写法没有语法、语义的问题,但是写的不够精简,不是正常的order写法。

指出两点问题:1)ifnull指成'',再与''比较,可直接写成 sortnum is null;

2)可以直接用结果为bool表达式进行排序(asc),false(0)在前,true在后。

sql为:

select *

from table

order by sortnum is null , sortnum

19楼:匿名用户

select *

from table

order by case when ifnull(sortnum,'')='' then 0 else 1 end desc, sortnum asc

试试,我没试,应该没问题

sql排序方式要根据另表的某个字段排序怎么实现

1楼 匿名用户 可以通过两个表的关系,然后通过字段关联的形式排序。sql select t1 from tablename1 t1 tablename2 t2 wehere t1 id t2 id order by t2 name 解释 实际上上面语句会通过 tablename2表的name字段先排...

怎么查询表中某个字段相同值的记录数大于1的记录

1楼 匿名用户 表结构呢? select from tab where 商品编码 in select 商品编码 from tab group by 商品编码 having count 1 2楼 匿名用户 select 商品编码 ,count from 表名 guoup by 商品编码 having ...