mysql实现根据多个字段查找和置顶功能

mysql根据多个字段查找

在mysql中,如果要实现根据某个字段排序的时候,可以使用下面的SQL语句

SELECT * FROM 'TABLE_NAME' ORDER BY 'Field'

然而,如果要实现根据某个字段排序后再根据另一个字段排序的时候应该如何呢?可以使用下面的SQL语句

SELECT * FROM 'TABLE_NAME' ORDER BY FIELD1, FIELD2;

如果要加上排序的话

SELECT * FROM 'TABLE_NAME; ORDER BY FIELD1 DESC, FIELD2;

置顶功能的实现

下面给一个对两个字段实现排序的例子

相信大家都见过BBS里面有置顶的帖子,大家也用过将帖子置顶的步骤,那么,大家有没有思考过应该怎么实现置顶的功能呢?
在一个项目中需要实现这样的功能,我的做法是在数据库里面增加一个字段,该字段标识帖子的权重,权重高的就往前排,如果权重相等的就根据时间排序,这样就实现了置顶的功能。

SELECT * FROM 'TABLE_NAME' ORDER BY PIORITY DESC, DATA DESC;

(0)

相关推荐

  • mysql实现根据多个字段查找和置顶功能

    mysql根据多个字段查找 在mysql中,如果要实现根据某个字段排序的时候,可以使用下面的SQL语句 SELECT * FROM 'TABLE_NAME' ORDER BY 'Field' 然而,如果要实现根据某个字段排序后再根据另一个字段排序的时候应该如何呢?可以使用下面的SQL语句 SELECT * FROM 'TABLE_NAME' ORDER BY FIELD1, FIELD2; 如果要加上排序的话 SELECT * FROM 'TABLE_NAME; ORDER BY FIELD1

  • MySQL根据某一个或者多个字段查找重复数据的sql语句

    sql 查出一张表中重复的所有记录数据 1.表中有id和name 两个字段,查询出name重复的所有数据 select * from xi a where (a.username) in (select username from xi group by username having count(*) > 1) 2.查询出所有数据进行分组之后,和重复数据的重复次数的查询数据,先列下: select count(username) as '重复次数',username from xi group

  • MySQL中大数据表增加字段的实现思路

    前言 增加字段相信大家应该都不陌生,随手就可以写出来,给 MySQL 一张表加字段执行如下 sql 就可以了: ALTER TABLE tbl_tpl ADD title(255) DEFAULT '' COMMENT '标题' AFTER id; 但是线上的一张表如果数据量很大呢,执行加字段操作就会锁表,这个过程可能需要很长时间甚至导致服务崩溃,那么这样操作就很有风险了. 那么,给 MySQL 大表加字段的思路如下: ① 创建一个临时的新表,首先复制旧表的结构(包含索引) create tab

  • MySQL可以使用斜线来当字段的名字

    今天发现MySQL可以使用斜线来当字段的名字,这是个意外的发现. 复制代码 代码如下: CREATE TABLE `op_day` ( `id` int(11) NOT NULL AUTO_INCREMENT, `date` date NOT NULL DEFAULT '0000-00-00' COMMENT '日期', `income` int(11) NOT NULL DEFAULT '0', `total` int(11) NOT NULL DEFAULT '0', `income/tot

  • mysql更新一个表里的字段等于另一个表某字段的值实例

    如下所示: update table1 as z left join table2 as zb on z.zcatId = zb.zcatId set z.zcatName = zb.zcatName where z.zcatName is null; 以上这篇mysql更新一个表里的字段等于另一个表某字段的值实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们.

  • 如何使用MySQL一个表中的字段更新另一个表中字段

    1,修改1列 update student s, city c set s.city_name = c.name where s.city_code = c.code; 2,修改多个列 update a, b set a.title=b.title, a.name=b.name where a.id=b.id •子查询 update student s set city_name = (select name from city where code = s.city_code); oracle

  • mysql group_concat 实现把分组字段写成一行的方法示例

    本文实例讲述了mysql group_concat 实现把分组字段写成一行的方法.分享给大家供大家参考,具体如下: 功能:将group by产生的同一个分组中的值连接起来,返回一个字符串结果. 函数语法: group_concat( [DISTINCT] 要连接的字段 [Order BY 排序字段 ASC/DESC] [Separator '分隔符'] ) 示例 查询文章列表,将同一文章多个标签作为一个字段 标签表结构 CREATE TABLE `book_tag` ( `id` int(10)

  • Mysql中批量替换某个字段的部分数据(推荐)

    MYSQL中批量替换某个字段的部分数据,具体介绍如下所示: 1.修改字段里的所有含有指定字符串的文字 UPDATE 表A SET 字段B = replace(字段B, 'aaa', 'bbb') example: update table set url= replace(url, 'aaa', 'bbb') [将url字段中的aaa批量更改为bbb] update table set url= REPLACE (url,'3','1.png') where 条件; 2.常规条件修改: upda

  • mysql查询的时候给字段赋默认值操作

    需求 查询某个字段的时候需要给一个字段同样的值. 这个值你可以写死,也可以从数据库获取 1.写死值 SELECT mfr_id AS mfrId, mfr_name AS mfrName, IFNULL(NULL, 587694978080178176) AS suppId FROM mater_prod materProd 查询结果 2.从数据库获取值 SELECT mfr_id AS mfrId, mfr_name AS mfrName, IFNULL(NULL, mfr_id) AS su

  • 关于Mysql update修改多个字段and的语法问题详析

    在MySQL里面update一条记录,语法都正确的,但记录并没有被更新... 问题语句 执行之前的记录是这样的: 执行之后的记录是这样的: 可以看到,实际上是有效果的: why? 看起来,语法是完全没有问题,MySQL官方文档的update语法: 看到assignment_list的格式是以逗号分隔的col_name=value列表,一下子豁然开朗,开发同学想要的多字段更新语句应该这样写: 小结:在一条UPDATE语句中,如果要更新多个字段,字段间不能使用"AND",而应该用逗号分隔.

随机推荐