mysql排序问题的sql语句

问题描述

mysql排序问题的sql语句

有一个字段A,字段值有可能相同,写一个sql语句,将相同的值尽量分隔开。例如字段A的值:1,1,1,2,3,3;查询结果要求为:1,2,3,1,3,1.请问sql怎么写?

解决方案

没有直接的sql,建议取值后写程序排序

解决方案二:

同意楼上说法,sql没有这样的排序

解决方案三:

一直使用oracle、sqlserver,没用过mysql了。
这个查询,oracle、sqlserver都是可以实现的,说下oracle、sqlserver的实现方式,希望对你有帮助。
例如,你查询的表为t_test_table

select *
from  (
    select t2.*,
        t2.denserank || t2.A AS denserank_A
    from  (
        select t1.*,
            DENSE_RANK() OVER(ORDER BY t1.A ) AS denserank
         from t_test_table t1
    ) t2
) t3
order by t3.denserank_A
;

(目前在家,无数据库运行环境,如果有个别拼写错误,请见谅)

时间: 2024-12-27 17:59:27

mysql排序问题的sql语句的相关文章

MySQL中优化sql语句查询常用的30种方法

本篇文章是对MySQL中优化sql语句查询常用的30种方法进行了详细的分析介绍,需要的朋友参考下   1.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引. 2.应尽量避免在 where 子句中使用!=或<>操作符,否则将引擎放弃使用索引而进行全表扫描. 3.应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引而进行全表扫描,如: select id from t where num is null 可以

mysql的查询sql语句转换成oracle的sql

问题描述 mysql的查询sql语句转换成oracle的sql SELECT CREATE_DATE SUM(ISBIND) AS ISBIND SUM(UNBIND) AS UNBIND SUM(SUBSCRIBE) AS SUBSCRIBE SUM(UNSUBSCRIBE) AS UNSUBSCRIBE FROM ( SELECT N.CREATE_DATE MAX( CASE N.EVENT WHEN 'subscribe' THEN COUNT ELSE 0 END ) SUBSCRIB

MySQL的常用SQL语句

修改密码 这是常见的大家一般都要用的 首先安装成功了打开cmd –> mysql -u root -p –>输入你的密码 –>修改mysql root用户密码 格式:mysql> set password for 用户名@localhost = password('新密码'); 举例:mysql> set password for root@localhost = password('root'); 上面例子将用户root的密码更改为root: 如果是学习使用一般密码该简单些

mysql-oracle的sql语句怎么转换成MySQL里的sql语句呢

问题描述 oracle的sql语句怎么转换成MySQL里的sql语句呢 oracle的sql语句怎么转换成MySQL里的sql语句呢 解决方案 http://jingyan.baidu.com/article/ca41422fe01f251eaf99ed6e.html试试这个经验 解决方案二: 在oracle里面拼接成MySQL的语句

mysql-求助MySQL的关于sql语句怎么写??三表的查询~~~请大神进来帮忙~~~~~

问题描述 求助MySQL的关于sql语句怎么写??三表的查询~~~请大神进来帮忙~~~~~ 现在我有三个表: 表1: pre_common_member_profile: uid(用户的uid), gender(性别), birthyear(出生的年), birthmonth(出生的月), birthday(出生的日) 表2: pre_home_friend: uid(用户的uid), fuid(加为好友的uid) 表3: pre_home_friend_request: fuid(发送好友请求

MySQL中使用SQL语句对字段进行重命名_Mysql

MySQL中,如何使用SQL语句来对表中某一个字段进行重命名呢?我们将使用alter table 这一SQL语句. 重命名字段的语法为:alter table <表名> change <字段名> <字段新名称> <字段的类型>. 现在我们来尝试把test表中的t_name字段重命名为t_name_new字段. 1.首先查看一下当前test表的结构 mysql> describe test; +------------+-------------+---

mysql jsp-jsp连接mysql时运行sql语句失败

问题描述 jsp连接mysql时运行sql语句失败 四月 01, 2016 12:51:30 下午 org.apache.catalina.core.StandardWrapperValve invoke 严重: Servlet.service() for servlet [jsp] in context with path [/Test] threw exception [An exception occurred processing JSP page /register.jsp at li

MySQL常用基本SQL语句总结_Mysql

1. 常见命令 连接本地数据库与远程数据库(172.16.xx.xx:3306): mysql -h localhost -u root -p123 mysql -h 172.16.xx.xx -P 3306 -u root -p 2. DDL 数据定义语言(Data Definition Lanuage, DDL)定义了数据库模式,包括CREATE.ALTER.DROP.TRUNCATE.COMMENT与RENAME语句. 创建(CREATE) create语句创建了一张表: CREATE T

mysql命令-常用sql语句命令代码

mysql命令-常用sql语句命令代码 使用G按行垂直显示结果 如果一行很长,需要这行显示的话,看起结果来就非常的难受.在SQL语句或者命令后使用G而不是分号结尾,可以将每一行的值垂直输出.这个可能也是大家对于MySQL最熟悉的区别于其他数据库工具的一个特性了. mysql> select * from db_archivelogG *************************** 1. row ***************************         id: 1  chec